Sencha Touch 2:从阵列中设置商店

时间:2012-11-07 22:54:40

标签: sencha-touch extjs sencha-touch-2

我正在尝试创建一个商店,然后我可以创建一个列表。问题是当我创建商店时,它是空的。

这是我的模特:

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)的摘要;显示了这个:

Class {_proxy:Class,data:Class,_totalCount:null,eventDispatcher:Class,initialConfig:Object ...}

其中显示总计数值为null,因此我认为我的商店不会被填充。

任何见解都将受到赞赏。

2 个答案:

答案 0 :(得分:1)

通过内联加载数据时,

_totalCount将为null。从服务器加载数据时,_totalCount将具有一些值。简而言之,_totalCount是指服务器中的总数据集。所以不用担心。

试试这个

console.log(store.getCount());

这将返回商店中加载的数据的确切数量。如果它返回一些值,那么你的代码是好的。

答案 1 :(得分:0)

您必须将“data”属性放在Store的 config 对象中,如下所示:

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