我是sencha touch2的新手,在列表中的獨立行中顯示嵌套的json數據時遇到問題。 這裏是我的Json樣子:Sencha Touch2:在列表中單獨顯示嵌套的Json數據
[
{
"work": {
"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": [
{
"lastName": "XYZ",
"firstName": "MNO"
},
{
"lastName": "PQR",
"firstName": "STU "
}
]
}
}
},
{
"work": {
"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": [
{
"lastName": "ANY",
"firstName": "KLJ"
},
{
"lastName": "CHE",
"firstName": "MAK"
}
]
}
}
}
]
喜歡我有30個「工作」對象,並在1「工作」,我有1「客戶」陣列和我有多個客戶裏面
我想在列表中顯示'客戶'在單獨行中,但能夠像單行一樣顯示單個'工作'的所有客戶。
Output should be:
---------------
delay
First Name: MNO
---------------
delay
First Name: STU
---------------
delay
First Name: KLJ
---------------
delay
First Name: MAK
---------------
這裏是型號。 ModelList.js:
Ext.define('CustomList.model.ModelList', {
extend: 'Ext.data.Model',
xtype:'modelList',
requires:['CustomList.model.Customers'],
config: {
fields:['work'],
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:[ '{work.assignment.alerts}<br>',
'<tpl for="work.assignment.customers">',
'firstName: {firstName}<br>',
'</tpl>'
]
// am able get the below values in list
// itemTpl:'{work.assignment.alerts}'
// itemTpl:'{work.assignment.pnr.locator}'
// itemTpl:'{work.agent.activeFlag}'
// itemTpl: '<b>{firstName} {lastName} </b><br>'+'pnr: '+ '{locator} <br>' +
// 'Alerts: '+'{alerts}' +'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'
}
});
任何人都可以請幫助我。謝謝。
你缺少一個逗號在JSON '「提醒」:「延遲」 「客戶」:[' – Waltzy 2013-03-21 16:32:09
你也有更新的JSON文件的'assignment'對象 – Waltzy 2013-03-21 16:33:08
後領先的逗號。 – chipmunk 2013-03-26 05:25:16