私は ExtJS 4 を使用しており、MVC パターンを順守しています。イベント ハンドラーで使用されるヘルパー関数をどこに置くべきか、少し混乱しています。これは現在私がやっていることです:
Ext.define('App.controller.myController, {
extend: 'Ext.app.Controller.
stores: [...],
models: [...],
views: [...],
init: function() {
this.control({
'selector' : {
event1: this.onEvent1,
event2: this.onEvent2
}
});
},
onEvent1: function(args) {
// do stuff
helperFn();
},
onEvent2: function(args) {
// do other stuff
helperFn();
}
});
// is this 'right'?
function helperFn() {
// do other, other stuff
}
これは正しい設定ですか?または、次のようなことをする必要があります。
Ext.define('App.controller.myController, {
extend: 'Ext.app.Controller.
stores: [...],
models: [...],
views: [...],
init: function() {
this.control({
'selector' : {
event1: this.onEvent1.bind(this),
event2: this.onEvent2.bind(this)
}
});
},
onEvent1: function(args) {
// do stuff
this.helperFn();
},
onEvent2: function(args) {
// do other stuff
this.helperFn();
},
helperFn(): function() {
// do other, other stuff
}
});
1 つのスタイルが優先されますか? つまり、どちらか一方に比べて大きな欠点はありますか?