簡體   English   中英

使用余燼數據的Ember AppKit和嵌入式對象

[英]Ember AppKit and embedded object using ember data

我正在嘗試使用Ember AppKit和ES6語法創建一個具有嵌入式數據的模型,但我有些困惑。

我發現這篇文章解釋了將數據嵌入模型的方法: https : //github.com/emberjs/data/blob/master/TRANSITION.md#rest-adapter-and-serializer-configuration

但我不知道如何將此應用於我的范圍。 我應該在適配器中添加“地圖”,以指定將嵌入我的屬性,但我不知道如何。

這就是我所擁有的:

適配器/ item.js

export default DS.RESTAdapter.extend({
   namespace: 'path/to/api/json'
});

如何在這里添加地圖?

車型/ item.js

var attr = DS.attr,
    belongsTo = DS.belongsTo;

export default DS.Model.extend({
    name: attr('string')
    width: belongsTo('valueUnit'),
    height: belongsTo('valueUnit'),
    weight: belongsTo('valueUnit')
});

我認為這里看起來應該像這樣:

export default DS.Model.extend({
    name: attr('string')
    width: belongsTo('valueUnit', {embedded: 'always'}),
    height: belongsTo('valueUnit', {embedded: 'always'}),
    weight: belongsTo('valueUnit', {embedded: 'always'})
});

模型/值unit.js

var attr = DS.attr;

export default DS.Model.extend({
    value: attr('number')
    unit: attr('string')
});

這就是我從服務器得到的:

{
  "items": [
    {
      "id": "123456789",
      "width": {
        "value": 150,
        "unit": "m"
      },
      "height": {
        "value": 5.3,
        "unit": "ft"
      },
      "weight": {
        "value": 12,
        "unit": "lb"
      }
    }
  ]
}

謝謝

您將必須為項目模型編寫一個序列化程序。 這是有關如何編寫串行器的指南

(在您的情況下,您正在從items數組中提取數據。因此請實現extractArray函數。)

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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