0

リストを作成できるストアを作成しようとしています。問題は、ストアを作成すると空になることです。

これは私のモデルです:

Ext.define('MyApp.model.TrackingCode', {
    extend: 'Ext.data.Model',

    config: {
        fields: [
            'id',
            'code',
            'count'
        ]
    }
});

そして、これが私がストアに入力しようとしているコードです:

var tc = [{id: 1, code: 'abc', count: 5}];
var store = Ext.create('Ext.data.Store', {
  model: 'MyApp.model.TrackingCode',
  data: tc
});

console.log(store);の要約。これを示しています:

クラス{_proxy:クラス、データ:クラス、_totalCount:null、eventDispatcher:クラス、initialConfig:オブジェクト…}

これは、合計カウント値がnullとして表示されるため、ストアにデータが入力されているとは思われません。

任意の洞察をいただければ幸いです。

4

2 に答える 2

1

インラインでデータをロードすると、_totalCountはnullになります。サーバーからデータをロードする場合、_totalCountには何らかの値があります。要するに、_totalCountはサーバー内のデータの合計セットを指します。だから心配しないでください。

これを試して

console.log(store.getCount());

これにより、ストアにロードされたデータの正確な数が返されます。それが何らかの値を返す場合、あなたのコードは良いです。

于 2012-11-08T07:32:33.130 に答える
0

次のように、Storeの構成オブジェクト内に「data」プロパティを配置する必要があります。

var tc = [{id: 1, code: 'abc', count: 5}];
var store = Ext.create('Ext.data.Store', {
  model: 'MyApp.model.TrackingCode',
  config : {
    data: tc
  }
});
于 2012-11-08T12:29:14.263 に答える