こんにちは、Sencha Touch2は初めてです。ネストされたJsonデータを解析し、リストに表示しているときに問題が発生します。これが私のJsonのようです:
[{"task":
{"agent":{"activeFlag":"false",
"shiftId":"0","id":"0","deleteFlag":"false"},
"id":"124","status":"Unassigned",
"assignment":{"pnr":
{"locator":"ABCDEF","connectTime":"0","id":"0"},
"id":"123",
"alerts":"Delay"
"customers":[
{"frequentNumber":"12345",
"doNotMissFlag":"false",
"customerScore":"0",
"lastName":"XYZ",
"firstName":"ABC",
"primaryFlag":"true",
"customerId":"56789"},
{"frequentNumber":"987654",
"doNotMissFlag":"false",
"customerScore":"0",
"lastName":"PQR",
"firstName":"STU ",
"cartNumber":"0",
"primaryFlag":"false",
"customerId":"54321"}]},
}},
{"task":{"agent":{......
'agent'値、'assignment'値を取得できますが、'customers'を取得できません。こちらがモデルです。ModelList.js:
Ext.define('CustomList.model.ModelList', {
extend: 'Ext.data.Model',
xtype:'modelList',
requires:['CustomList.model.Customers'],
config: {
fields:['task'],
proxy:{
type:'ajax',
url:'http://localhost:9091/CustomListJson/app/store/sample.json',
reader:{
type:'json'
}
},
hasMany:{model:'CustomList.model.Customers',
name:'customers'}
}
});
Customers.js:
Ext.define('CustomList.model.Customers', {
extend: 'Ext.data.Model',
config: {
fields: [
'firstName','lastName'
],
belongsTo: "CustomList.model.ModelList"
}
});
これが私のShowList.jsです:
Ext.define('CustomList.view.ShowList',{
extend:'Ext.Panel',
xtype:'showList',
config:{
layout:'fit',
styleHtmlContent:'true',
styleHtmlCls:'showListCls',
items:[
{
xtype:'list',
id: 'listitems',
store:'StoreList',
itemTpl:['{task.assignment.alerts}', '<div>',
'<h2><b>FirstName: </b></h2>',
'<tpl for="Customers">', // could not able to get and show in list
'<div> - {firstName}</div>', // could not able to get and show in list
'</tpl>',
'</div>']
// am able get the below values in list
// itemTpl:'{task.assignment.alerts}'
// itemTpl:'{task.assignment.pnr.locator}'
// itemTpl:'{task.agent.activeFlag}'
// itemTpl: '<b>{firstName} {lastName} </b><br>'+'pnr: '+ '{locator} <br>' +
// 'Alerts: <font color="#990000">'+'{alerts} </font>' +'status: '+'{status} '
}]
}
});
これが私のStoreList.jsです:
Ext.define('CustomList.store.StoreList', {
extend:'Ext.data.Store',
requires:['Ext.data.reader.Json'],
config:{
model:'CustomList.model.ModelList',
autoLoad:'true'
}
});
私はこれに従いました:http://docs.sencha.com/ext-js/4-0/# !/ api / Ext.data.reader.Reader が、リストに表示できませんでした。誰でも私を助けてください。ありがとう。