Ember.js 如何将余烬数据与许多关系一起使用?
我有一些数据模型如下所示:Ember.js 如何将余烬数据与许多关系一起使用?,ember.js,ember-data,Ember.js,Ember Data,我有一些数据模型如下所示: App.Order = DS.Model.extend({ name: DS.attr('string'), legs: DS.hasMany('leg', {async: false}) }); App.Leg = DS.Model.extend({ name: DS.attr('string'), order: DS.belongsTo('order'), stops: DS.hasMany('stop', {async: false})
App.Order = DS.Model.extend({
name: DS.attr('string'),
legs: DS.hasMany('leg', {async: false})
});
App.Leg = DS.Model.extend({
name: DS.attr('string'),
order: DS.belongsTo('order'),
stops: DS.hasMany('stop', {async: false})
});
App.Stop = DS.Model.extend({
name: DS.attr('string'),
leg: DS.belongsTo('leg'),
});
{
"orders": [
{
"id": 1,
"name": "Order 1",
"legs": []
},
{
"id": 2,
"name": "Order 2",
"legs": [1]
},
{
"id": 3,
"name": "Order 3",
"legs": [2,3]
}
],
"legs": [
{
"id": 1,
"name": "Leg 1",
"stops": [1,2]
},
{
"id": 2,
"name": "Leg 2",
"stops": [2,3]
},
{
"id": 3,
"name": "Leg 3",
"stops": [1,3]
}
],
"stops": [
{
"id": 2,
"name": "Stop 2"
},
{
"id": 1,
"name": "Stop 1"
},
{
"id": 3,
"name": "Stop 3"
}
]
}
返回的JSON如下所示:
App.Order = DS.Model.extend({
name: DS.attr('string'),
legs: DS.hasMany('leg', {async: false})
});
App.Leg = DS.Model.extend({
name: DS.attr('string'),
order: DS.belongsTo('order'),
stops: DS.hasMany('stop', {async: false})
});
App.Stop = DS.Model.extend({
name: DS.attr('string'),
leg: DS.belongsTo('leg'),
});
{
"orders": [
{
"id": 1,
"name": "Order 1",
"legs": []
},
{
"id": 2,
"name": "Order 2",
"legs": [1]
},
{
"id": 3,
"name": "Order 3",
"legs": [2,3]
}
],
"legs": [
{
"id": 1,
"name": "Leg 1",
"stops": [1,2]
},
{
"id": 2,
"name": "Leg 2",
"stops": [2,3]
},
{
"id": 3,
"name": "Leg 3",
"stops": [1,3]
}
],
"stops": [
{
"id": 2,
"name": "Stop 2"
},
{
"id": 1,
"name": "Stop 1"
},
{
"id": 3,
"name": "Stop 3"
}
]
}
当我使用async:true
时,ember对相关的分支(legs?ids[]=1
和legs?ids[]=2&ids[]=3
)发出了http请求,但从未对相关的停止发出请求
因此,我切换到如上所示的侧向加载,但停止仍然无法从相关的腿
您能帮助我理解应该如何加载具有多个嵌套关系的模型吗?或者我哪里出错了?我愿意使用
async:true
或async:false
,只要我能将嵌套数据加载到模型中。这个带有侧加载数据的示例应该有效,请检查这个示例:它确实有效。谢谢你的例子告诉我问题出在我的模板中,而不是数据中。叹气非常感谢。