Extjs问题与商店
问题描述:
我有一个Ext.Data.Store。我有一个函数,需要调用一次,当存储加载。只有一次。 起初,我这样做:Extjs问题与商店
function invokeMe() {
alert("!");
}
actionTemplateStore.on('load', function() {
invokeMe();
}
但有一个问题ISIN此解决方案: 我真的需要一次invoce “invokeMe” - 函数
答
actionTemplateStore.on('load', function() {
if (!actionTemplateStore.actionInvoked) {
invokeMe();
actionTemplateStore.actionInvoked = 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);
谢谢!它的工作原理=) –
太棒了,不要忘记注册! – mik
当您不需要时,您正在添加属性和条件逻辑。事件监听器支持单个执行配置,如下所述。 – Lloyd