簡體   English   中英

灰燼商店未加載嵌套的hasMany關系數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM