0
我有這樣的JSON。檢索商店記錄
{
"children":[
{"name": "subdivision1","id": "subdiv1","type": "subdiv","children":[
{"name": "Scheme1","id": "scheme1","type": "scheme","children":[
{"name": "Nathuji","id": "nathuji","type": "datalogger","leaf":true},
{ "name": "Tarsang","id": "tarsang","type": "datalogger","leaf":true},
{ "name": "Mithapur","id": "mithapur","type": "datalogger","leaf":true},
{ "name": "Samali","id": "samali","type": "datalogger","leaf":true}]},
{"name": "Scheme2","id": "scheme2","type": "scheme","children":[
{ "name": "Bhunidra","belongsto": "scheme2","id": "bhunidra","type": "datalogger","leaf":true},
{ "name": "Chhogala","belongsto": "scheme2","id": "chhogala","type": "datalogger","leaf":true}]
}]},
{"name": "subdivision2","id": "subdiv2","type": "subdiv","children":[
{"name": "Scheme3","id": "scheme3","type": "scheme","children":[
{ "name": "Thana Savli","belongsto": "scheme3","id": "thanasavli","type": "datalogger","leaf":true},
{ "name": "Padardi","belongsto": "scheme3","id": "padardi","type": "datalogger","leaf":true}]
}]}]}
模型是這樣的。
Ext.define('DemoApp.model.dataloggerhierarchymodel',{
extend: 'Ext.data.Model',
fields: ['name','id','type'],
proxy: {
type: 'ajax',
api: {
read: 'data/allschemes.json'
},
reader: {
type: 'json',
root: 'children'
}
}
});
這樣的商店。
Ext.define('DemoApp.store.dataloggerhierarchystore',{
extend: 'Ext.data.TreeStore',
model: 'DemoApp.model.dataloggerhierarchymodel',
autoLoad: true,
listeners: {
load:function(){
console.log('Datalogger Tree store loaded');
}
},
root: {
expanded: true
}
});
我訪問它的控制器一樣,
var schemesStore = this.getDataloggerhierarchystoreStore();
if(schemesStore == null || schemesStore == undefined){
console.log('Store Undefined');
}
for(var i = 0; i< schemesStore.count();i++)
{
console.log('Record - '+schemesStore[i].get('id'));
};
schemesStore.each(function(currentRecord){
console.log(currentRecord.get('id'));
});
我在樹屏顯示出來,並且能正常工作。現在我想從商店訪問每條記錄。 但我得到錯誤count()
不是一個函數。在totalCount()
,each()
的情況下也是如此。我在這裏錯過了什麼?我如何從商店訪問個人記錄?
但是'NodeInterface'如何訪問每個字段?假如我想要檢索'id'和'name',我怎麼才能通過當前的'NodeInterface'獲取? – liaK
我的意思是和普通商店中的get()函數類似嗎? – liaK
'NodeInterface'中的方法用於修飾模型。所以你仍然可以在單個節點上使用get()。基本上,它將您的記錄變成樹節點。 – Eric