Swa*_*nil 6 ember.js ember-data
我有一个人员模型如下
App.Person= DS.Model.extend({
id: DS.attr('string'),
name: DS.attr('string'),
visits: DS.hasMany('App.Visit'),
events: DS.hasMany('App.Event') ,
allergies: DS.hasMany('App.Allergies'),
get_allergies : function(){
return this.get('allergies').getEach('allergy_name').reduce(function(accum, item) {
return (accum.length > 0) ? (accum +', '+ item) : (item);
}, '');
}.property('allergies.@each.allergy_name')
});
App.Visit = DS.Model.extend({
visit_id: DS.attr('string'),
date: DS.attr('date'),
admission: DS.belongsTo('App.Admission')
});
App.Admission = DS.Model.extend({
loc: DS.attr('string'),
admission_date: DS.attr('date'),
care_team: DS.belongsTo('App.CareTeam')
});
Run Code Online (Sandbox Code Playgroud)
你可以看到Person有很多"过敏症",而且随着人,过敏也会加载,因为在UI中我称之为get_allergies方法,而其他很多关系如"访问"和"事件"都没有被加载.
在用户界面中{{person.get_allergies}}
我试图加载关系"访问"和"事件"(使用网络上的示例),但这不起作用?有人能说出什么是正确加载余烬数据的方法,因为除了关于stackoverflow本身的几个问题之外,我无法在网上找到任何适当的文档.
根据文档,您应该在服务器的响应中添加额外的访问和事件数据。
{
"person": {
"id": 1,
...
"event_ids": [5, 6, 7]
},
"events": [{
"id": 5,
...
},
{
"id": 6,
...
},
{
"id": 7,
...
}]
}
Run Code Online (Sandbox Code Playgroud)
这里的要点是事件数据应该位于人员数据之外。
您使用标准 REST 适配器吗?您能添加一个服务器返回的示例 json 吗?
| 归档时间: |
|
| 查看次数: |
5481 次 |
| 最近记录: |