Ember数据渲染有很多 [英] Ember data rendering hasMany
本文介绍了Ember数据渲染有很多的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
App.Schedule = DS.Model.extend({
经理:DS.belongsTo('App.Manager',{embedded:true}),
条目:DS.hasMany('App.Reservation',{embedded:true})
});
App.Reservation = DS.Model.extend({
name:DS.attr('string')
});
和手镯视图:
{{#控制器中的每个日程表}}
< td>
{{#each reservation in schedule.entries)}}
< div> {{reservation.name}}< / div>
{{/ each}}
< / td>
{{/ each}}
但是, p>
期望'ID','undefined'
此解决方法有效,但我知道这是错误的方式。
{{each任何想法? $ b $($) b
编辑
Mike Aski回答后。
我的JSON,从后端返回。
{
schedule:[
{
id:476a3881-4fe8-42f5-8bdb-650d38f911e8,
条目:[
{
name:test1,
开始:2012-11-22T10:00:00 + 06:00,
结束:2012-11-22T11:00:00 + 06:00,
id :71c6da83-8ae2-4210-90f8-e65b06f819d7
},
{
name:test2,
begin:2012-11-22T12 :00:00 + 06:00,
end:2012-11-22T14:00:00 + 06:00,
id:d234c8c0-66f5-4e98-b921 -4472b39a98f7
}
]
},
{
id:8d9b1539-8a1f-4a5d-acfc-5918e61e3990,
:[]
},
{
id:a279d9a5-ea88-4012-8094-8a30125fd32b,
entries:[]
}
]
}
解决方案您确定您在保留中有 id
属性
JSON对象?
即使嵌入了关系,您也应该拥有它们。
In my ember app I have a models:
App.Schedule = DS.Model.extend({
manager:DS.belongsTo('App.Manager', { embedded: true }),
entries:DS.hasMany('App.Reservation', { embedded: true })
});
App.Reservation = DS.Model.extend({
name:DS.attr('string')
});
and a handelbars view:
{{#each schedule in controller}}
<td>
{{#each reservation in schedule.entries)}}
<div>{{reservation.name}}</div>
{{/each}}
</td>
{{/each}}
But with this view a've got exception
Expecting 'ID', got 'undefined'
This workaround works, but I know this is wrong way.
{{#each reservation in schedule._data.hasMany.entries}}
Any ideas?
EDIT.
After Mike Aski answer.
My JSON, returning from backend.
{
"schedules": [
{
"id": "476a3881-4fe8-42f5-8bdb-650d38f911e8",
"entries": [
{
"name": "test1",
"begin": "2012-11-22T10:00:00+06:00",
"end": "2012-11-22T11:00:00+06:00",
"id": "71c6da83-8ae2-4210-90f8-e65b06f819d7"
},
{
"name": "test2",
"begin": "2012-11-22T12:00:00+06:00",
"end": "2012-11-22T14:00:00+06:00",
"id": "d234c8c0-66f5-4e98-b921-4472b39a98f7"
}
]
},
{
"id": "8d9b1539-8a1f-4a5d-acfc-5918e61e3990",
"entries": []
},
{
"id": "a279d9a5-ea88-4012-8094-8a30125fd32b",
"entries": []
}
]
}
解决方案 Did you ensure you have an id
property in the reservations
JSON objects?
You should have them, even if relations are embedded.
这篇关于Ember数据渲染有很多的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文