Extjs与Store的问题

时间:2012-10-18 08:36:16

标签: javascript extjs load

我有一个Ext.Data.Store。我有一个函数,需要在加载存储时调用一次。只有一次。 起初我这样做了:

function invokeMe() {
alert("!");
}

actionTemplateStore.on('load', function () {
    invokeMe();
}

但是这个解决方案存在一个问题: 我真的需要一次invoce“invokeMe”-function

2 个答案:

答案 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});

我们传入范围thissingle: true的配置对象,导致它只执行一次。

你也可以这样做:

var onLoad = function(store) {
    alert('!');
    store.un('load',onLoad);
}

actionTemplateStore.on('load',onLoad);