我正在使用 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
}
});
一种风格是首选吗?即,与另一个相比,其中一个有什么主要缺点吗?