7

次のようにストアをロードします。

store.load({
    params: {
        paramMap
    },
    callback: function(records, options, success) {
        if (success) {
            var form = formPanel.getForm();
            var jsonStr = Ext.JSON.encode(records[0].raw);
            var jsonObj = Ext.JSON.decode(jsonStr);
            form.loadRecord(jsonObj);
        }
    }
});

問題は、ストアが最初にロードされたときにのみ、このコールバックを起動したいということです。その後、ストアをリロードまたはロードしたときに、このコールバックが再度呼び出されないように、それを削除したいと思います。

オプション構成でコールバックを取得しようとしましたが、うまくいかないようです。

4

1 に答える 1

16

問題が何であるか正確にはわかりません。コールバックは、ストアがコールバックでロードされたときにのみ呼び出されます。

store.load({callback:myCallback});
//callback will be called
store.load();
//callback will not be called

一度だけ何かをしたい場合は、単一のセットを true にしてリスナーを使用することをお勧めします。コールバックの代わりにリスナーを使うのが私の好みの方法です。

store.on('load', onStoreLoad, this, {single:true});

コールバック関数の引数 api は、ロード リスナーとは少し異なります。ドキュメントを確認してください。

于 2013-03-27T18:14:31.787 に答える