我有以下格式的JSON:
{
"id": 1,
"arbitraryAttribute": "arbitraryValue",
"thing": {
"thingKey1": "thingValue1",
"thinkKey2": "thingValue2"
}
}
此模型的表示如下:
Ext.define("MyModel", {
extends: "Ext.data.Model",
fields: [
{name: "id", type: "string"},
{name: "arbitraryAttribute", type: "string"},
],
hasOne: [
{
model: "Thing",
name: "thing"
}
]
});
Ext.define("Thing", {
extends: "Ext.data.Model",
fields: [
{name: "thingKey1", type: "string"},
{name: "thingKey2", type: "string"}
]
});
代理是一个简单的json代理。它所获得的JSON看起来就像我提出的那样,但我的记录似乎并不了解Thing模型。我需要设置任何额外的管道来让MyModel拉出嵌套的Thing json吗?
答案 0 :(得分:1)
您忘了在MyModel中设置thing_id。这在ExtJs中根本不起作用。 你现在可以通过JSON设置thing_id,但不能像你那样设置整个对象(它应该)。
如果需要,它将通过模型代理自动加载整个对象。
答案 1 :(得分:0)
Ext.define('User', {
extend:'Ext.data.Model',
fields: ['id', 'name', 'status'],
associations: [
{ type: 'hasOne', model: 'Status', associationKey: 'status' }
]
});
Ext.define('Status', {
extend:'Ext.data.Model',
fields: ['id', 'title'],
});