[英]Ember store not loading nested hasMany relationship data
我正在調用自己構建的API。 響應返回一個大JSON,其中嵌套了所有數據。 例:
"feed" : {
"id": 12345,
"name": "trogdor",
"items": [
{
"id":6789,
"content": I am an items content
},
{
"id":6789,
"content": I am an items content
},
{
"id":6789,
"content": I am an items content
},
{
"id":6789,
"content": I am an items content
}
]
}
所以你可以看到,飼料模型,它是返回hasMany
項目。
因此,我的模型定義如下:
資訊提供模型:
export default DS.Model.extend({
name: attr('string'),
items: hasMany('item')
});
物品型號:
export default DS.Model.extend({
content: attr('string'),
items: belongsTo('feed')
});
但是,當從我的模型調用返回承諾時,當我調用模型的“項目”時未設置任何數據。 相反,我只是得到一個沒有屬性或數據的商店類。
當我登錄模型並嘗試打開data
哈希時,我得到了沒有數據的余燼EmptyObject
。
使用Ember CLI為您的提要模型生成一個新的序列化器: ember g serializer feed
然后,如下定義串行器:
import DS from 'ember-data';
import ApplicationSerializer from './application';
export default ApplicationSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
items: { embedded: 'always'},
}
});
確保在主application.js
適配器文件中擴展DS.RESTadapter
,以使Ember正確序列化嵌入式嵌套的JSON數據,否則Ember希望來自服務器的有效負載采用JSON API格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.