1

totalCount 値を含む json 応答があります。load 関数で totalCount 値を取得しています。ストア If(totalCount>0) をロードする前に、コントローラーでストアを作成しています。それはelse条件を実行しています。ストアをロードして状態を確認する方法を誰か教えてもらえますか? ロード機能なしでフィールドからレコードを取得することは可能ですか?

var totalCount=0;
store.load(
    { 
        scope: this,    
        callback: function(records, operation, success) {  
             totalCount = records[0].data.totalCount    
        }
    }
);

if (totalCount > 0) {
    console.log("record found");
} else {
    console.log("record not found");
}
4

2 に答える 2

4

ここでの問題は、store.load関数が非同期であることです。つまり、呼び出しの直後のコードは、関数が戻るload前に実行されます。load関数は、ステートメントが実行されるcallbackよりもずっと後に呼び出されます。if

投稿のタイトルにある実際の質問に答えるには、API を参照してください: http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.data.Store

必要に応じて、任意の数のメソッドを使用できます。.getRange()配列を取得するか.each()、レコードをすぐに反復処理します。

于 2013-07-18T18:46:43.663 に答える