ExtJs - 如何手动触发商店的更新事件?

时间:2014-06-28 13:14:35

标签: extjs extjs4.2

如何通过点击按钮或链接手动触发商店上的update事件?

我正在尝试这个:

var someStore = Ext.getCmp('someGrid').getStore();
//Save yes is a hyperlink I inserted in the DOM.

Ext.get('save-yes').on('click', function(e){
    e.preventDefault();
    someStore.fireEvent('update');
});

someStore.on('update', function(){
    console.log('Updating');    
});

点击有效,但商店的事件未被触发。

1 个答案:

答案 0 :(得分:1)

绝不以这种方式开火。当需要处理某些事情时触发库事件,因此当数据未更改时触发更新事件没有任何意义。事件监听器应该处理更改,因此在没有更改时不需要运行。

此外,必须使用某些签名触发事件,因此您需要获取原始fireEvent使用的数据,这些数据可能会经常出现问题。

最后,但可能最重要的是,一旦你有一个充当监听器的函数,你就不需要人为地触发事件来运行该函数。你可以调用这个函数。