Json Sencha Touch-访问1对1模型关系
我试图从我的模型存储访问以下JSON。我访问根目录(名称和地址)没有问题,但我无法访问财务目录(NetWorth或Income)中的任何内容。我已经验证了下面的JSON是从服务器返回的 我知道这必须非常简单,但我看到的每个例子都展示了如何访问一对多关系。我的模型是1比1。个人->财务。现在我没有任何关联设置,因为我不知道如何设置1对1关系。我试过联想,我试过belongsTo,我试过Financials.NetWorth,从我的itemTPL里面。没什么 谁能给我看看灯吗 从服务器返回的JSONJson Sencha Touch-访问1对1模型关系,json,extjs,Json,Extjs,我试图从我的模型存储访问以下JSON。我访问根目录(名称和地址)没有问题,但我无法访问财务目录(NetWorth或Income)中的任何内容。我已经验证了下面的JSON是从服务器返回的 我知道这必须非常简单,但我看到的每个例子都展示了如何访问一对多关系。我的模型是1比1。个人->财务。现在我没有任何关联设置,因为我不知道如何设置1对1关系。我试过联想,我试过belongsTo,我试过Financials.NetWorth,从我的itemTPL里面。没什么 谁能给我看看灯吗 从服务器返回的JSON
[{
"PersonName": "John Smith",
"Address": "123 main street",
"Financials":
[{
"NetWorth": "$500,000",
"Income":"$67,000"
}]
}]
我注册了我的模型。
Ext.regModel('Person', {
fields: [
{name: 'Name', type:'string'},
{name: 'Address', type: 'string'},
],
});
Ext.regModel('Financials',{
fields: [
{name: 'NetWorth', type:'string'},
{name: 'Income', type: 'string'},
],
});
并注册了商店
var commStore = new Ext.data.Store({
model: 'Person',
proxy: {
type: 'ajax',
url : 'Business/GetData',
reader: {
type: 'json',
}
},
autoLoad:false,
});
并显示在列表中
var commList = new Ext.List({
fullscreen: false,
itemTpl : '<div>{PersonName}</div><div>{Business.NetWorth}</div>',
store: commStore,
height:500,
width:"100%",
});
var commList=新的外部列表({
全屏:假,
itemTpl:“{PersonName}{Business.NetWorth}”,
商店:康普商店,
身高:500,
宽度:“100%”,
});
任何帮助都将不胜感激 我自己也是初学者,但下面的操作似乎有帮助(未使用您的代码进行测试) 仅适用于以下型号:
Ext.regModel('Person', {
fields: [
{name: 'Name', type:'string'},
{name: 'Address', type: 'string'},
{name: 'NetWorth', type:'string', mapping 'Financials.NetWorth'},
{name: 'Income', type: 'string', mapping 'Financials.Income'},
],
});
在模板代码中,使用名称引用
itemTpl : '<div>{PersonName}</div><div>{Business.NetWorth}</div>',
itemTpl:“{PersonName}{Business.NetWorth}”,
变成
itemTpl : '<div>{PersonName}</div><div>{NetWorth}</div>',
itemTpl:“{PersonName}{NetWorth}”,
您说您的关系是1对1,但您的JSON数据返回一个数组(带有1项,但仍然是一个数组,因为您使用“[]”括号)来表示财务信息。
这意味着这个人应该变成这样:
Ext.regModel('Person', {
fields: [
{name: 'Name', type:'string'},
{name: 'Address', type: 'string'},
],
hasMany: [
{name: 'person', model: 'Person'}
]
});