1

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'})
});

models/value-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"
      }
    }
  ]
}

ありがとう

4

1 に答える 1