我有一个 Ext.Data.Store。而且我有一个函数,需要在加载商店时调用一次。只有一次。起初我这样做:
function invokeMe() {
alert("!");
}
actionTemplateStore.on('load', function () {
invokeMe();
}
但是这个解决方案有一个问题:我真的需要一次调用“invokeMe”-function
我有一个 Ext.Data.Store。而且我有一个函数,需要在加载商店时调用一次。只有一次。起初我这样做:
function invokeMe() {
alert("!");
}
actionTemplateStore.on('load', function () {
invokeMe();
}
但是这个解决方案有一个问题:我真的需要一次调用“invokeMe”-function
actionTemplateStore.on('load', function () {
if (!actionTemplateStore.actionInvoked) {
invokeMe();
actionTemplateStore.actionInvoked = true;
}
}
更新:正如劳埃德所说,您也可以使用 {single:true} 选项。
actionTemplateStore.on('load', yourFunction, {single:true});
试试这个:
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);