我有一个Ext.Data.Store。我有一个函数,需要在加载存储时调用一次。只有一次。 起初我这样做了:
function invokeMe() {
alert("!");
}
actionTemplateStore.on('load', function () {
invokeMe();
}
但是这个解决方案存在一个问题: 我真的需要一次invoce“invokeMe”-function
答案 0 :(得分:1)
actionTemplateStore.on('load', function () {
if (!actionTemplateStore.actionInvoked) {
invokeMe();
actionTemplateStore.actionInvoked = true;
}
}
更新:正如劳埃德提到的,你也可以使用{single:true}选项。
actionTemplateStore.on('load', yourFunction, {single:true});
答案 1 :(得分:0)
试试这个:
function invokeMe() {
alert("!");
}
actionTemplateStore.on('load',function () {
invokeMe();
},this,{single: true});
我们传入范围this
和single: true
的配置对象,导致它只执行一次。
你也可以这样做:
var onLoad = function(store) {
alert('!');
store.un('load',onLoad);
}
actionTemplateStore.on('load',onLoad);