0
也許我想要做的是反對MVC,但這裏。ExtJS模型實例的ComponentQuery選擇器,或者MVC中模型的適當用法是什麼?
我有查看事件,我已經綁定到我的控制器上的功能。這些事件更新了我在Controller.init上創建的Model實例。我想要Model實例的更新來引發可以綁定到我的Controller上的函數的事件。
這樣做的正確方法是什麼?我打電話給Controller.control,但我不知道要傳入選擇器的內容。
這裏是我的Controller.init:
var me = this;
me.keysModelInstance = me.getKeysModel().create();
me.control({
'model#keys': {
onkeyschange: me.onKeysModelInstanceChange
}
});
這裏是我的模型:
Ext.define('pronghorn_ui_keyboard.model.Keys', {
extend: 'Ext.data.Model',
fields: [
{
name: 'keys',
type: 'string'
}
],
add: function(key) {
this.set('keys', this.get('keys') + key);
this.fireEvent('onkeyschange');
},
clear: function() {
this.set('keys', '');
this.fireEvent('onkeyschange');
}
});
我知道我能得到我想要的自定義監聽器的情況發生,但是,這並不覺得自己是「MVC方式」。模型不是爲了引發事件嗎?儘管如此,這沒有任何意義。當代理獲得異步更新時引發事件的模型和商店怎麼樣?
我可以調用me.keysModelInstance.on設置一個監聽器與Controller.this作爲控制器內範圍。在裏面。我想這實現了同樣的事情,而不是使用ComponentQuery。 – alyssackwan
看起來像一個獨特的要求:) – dbrin