項目我使用煎茶觸摸2.我店從現有的JS對象加載:煎茶觸摸數據視圖不顯示從商店
Ext.define('majestic.store.Dataset', {
extend : 'Ext.data.Store',
requires : [
'majestic.model.Dataset',
'majestic.util.config.ConfigurationManager'
],
config : {
model : 'majestic.model.Dataset',
type: 'memory',
reader: 'json',
autoLoad : true,
proxy: {
type: 'memory',
reader: {
type: 'json',
rootProperty : 'datasets'
}
}
},
constructor: function(config) {
this.callParent(arguments);
this.applyData(majestic.util.config.ConfigurationManager.getConfig());
}
});
型號:
Ext.define('majestic.model.Dataset', {
extend : 'Ext.data.Model',
config : {
fields : [
'title'
],
associations: [
{type: 'hasMany', model: 'Layer', name: 'layers'}
]
}
});
,並查看:
Ext.define('majestic.view.LayerList', {
requires: ['majestic.store.Dataset'],
extend: 'Ext.dataview.List',
config:{
store: 'Dataset',
itemTpl: '<div>{id} is {title}</div>',
itemSelector: "div"
}
});
看完Data view in Sencha touch我已經添加autoLoad和itemSelector,仍然沒有運氣。
雖然運行
new majestic.store.Dataset().each(function(i) {console.log(i)});
輸出具有填充數據屬性對象列表。我已經想通了
UPDATE
我同意@fbrandel是第一個選項是如何工作的,但讀書ST源之後的數據視圖的存儲參數被解釋爲:
- 商店對象
- json商店符號如第一個示例here
- 可以使用StoreManager.lookup解決的已創建商店的名稱
所以我結束了:
- 在查看離開
store:'Dataset'
- 添加
storeId : "Dataset"
存儲,因此它可以通過StoreManager - 添加
stores: ['Dataset']
造成的majestic.store.Dataset
創建和註冊解套在StoreManager中
P.S.它也可以在GridView控件的方法initialization
使用this.setStore(new majestic.store.Dataset())
做,但我更喜歡聲明的方式,其中更多鈔票