前提・実現したいこと
子クラス内のイベントの発生を検知し、親クラスのメソッドを実行させる処理を作成しております。
現在は子クラスのコンストラクタに、実行したい親クラスのメソッドを渡し、子クラスのイベント発生時にそのメソッドを実行させる、という処理を考えております。
発生している問題・エラーメッセージ
下記ソースコードを実行すると、渡したコールバック関数内の処理で、該当の関数が定義されていないとエラーが発生しております。
Uncaught TypeError: Cannot read property 'this.hoge' of undefined
該当のソースコード
javascript
1class oya{ 2 constructor(){ 3 this.kodomo1 = new kodomo(this.callback); 4 this.kodomo2 = new kodomo(this.callback); 5 } 6 7 callback(){ 8 this.hoge(); 9 } 10 11 hoge(){ 12 //検知した処理 13 } 14} 15 16class kodomo{ 17 constructor(callback){ 18 this.callback = callback; 19 20 $('#fuga').on('click', () => { 21 this.callback(); 22 }) 23 } 24} 25 26
補足情報(FW/ツールのバージョンなど)
子クラス内に要素のイベントをセットしておりますが、kodomoクラスは役割ごとのオブジェクトを取りまとめており、oyaクラスはそれらを取りまとめるような役割を与えております。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/02 00:24