次の ExtJS コントローラー コードがあります。
init: function() {
this.control({
'#menuitem-A': { click: this.handlerA },
'#menuitem-B': { click: this.handlerB },
});
},
および次のイベント ハンドラー:
commonFunc: function(param1, param2) {
// do something with param1 and param2 in here
},
handlerA: function(button, event) {
this.commonFunc('param-A1', 'param-A2');
},
handlerB: function(button, event) {
this.commonFunc('param-B1', 'param-B2');
},
問題:現在のコードは冗長です:異なるパラメータhandlerA
でhandlerB
呼び出すだけですcommonFunc
質問:さまざまなイベント ハンドラーに対して、上記のand関数内の任意のパラメーターを持つ共通関数handlerA
and handlerB
and の代わりにcall
or
を削除したいと考えています。出来ますか?apply
commonFunc
handlerA
handlerB
例:
init: function() {
this.control({
'#menuitem-A': { click: /*commonFunc with ['param-A1', 'param-A2']*/ },
'#menuitem-B': { click: /*commonFunc with ['param-B1', 'param-B2']*/ },
});
},
どうもありがとう!