2

Ext.Data.Storeがあります。そして、ストアがロードされたときに一度呼び出す必要がある関数があります。一度だけ。最初に私はこれをしました:

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

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

しかし、1つの問題は、このソリューションにあります。「invokeMe」関数を一度呼び出す必要があります。

4

2 に答える 2

1
actionTemplateStore.on('load', function () {
    if (!actionTemplateStore.actionInvoked) {
        invokeMe();
        actionTemplateStore.actionInvoked = true;
    }
}

更新:ロイドが述べたように、 {single:true} オプションも使用できます。

actionTemplateStore.on('load', yourFunction, {single:true});
于 2012-10-18T08:39:42.707 に答える
0

これを試して:

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

actionTemplateStore.on('load',function () {
    invokeMe();
},this,{single: true});

thisスコープと構成オブジェクトを渡しますsingle: true。これにより、スコープと構成オブジェクトが1回だけ実行されます。

これを行うこともできます:

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

actionTemplateStore.on('load',onLoad);
于 2012-10-18T08:39:15.477 に答える