簡體   English   中英

灰燼:類型對象的屬性

[英]Ember: attributes of type object

我調用的API返回的數據如下:

{
  "data": {
    "id": "5",
    "type": "person",
    "attributes": {
      "name": "John",
      "pet": {
        "typeOf": "cat",
        "petName": "Furry"
      },
      ...

models / person.js:

name: attr('string'),
pet: attr()

模板:

{{input type="text" class="form-control" value=model.pet.petName}}

這適用於名稱,但不適用於寵物。 即使沒有針對寵物的API調用,我也必須創建一個寵物模型嗎? API會將pet作為對象屬性(而不是關系)返回時,這是否還能工作?

是的,它將起作用。 余燼

路線/application.js

import Ember from 'ember';
export default Ember.Route.extend({
  model: function() {
    return this.store.findRecord('person', 5);
  }
});

模型/ person.js

import Model from "ember-data/model";
import attr from "ember-data/attr";

export default Model.extend({
  name: attr('string'),
  pet: attr()
});

模板/application.hbs

{{input type="text" class="form-control" value=model.pet.petName}}

適配器/application.js

import Adapter from "ember-data/adapters/json-api";

export default Adapter.extend();

serializers / application.js

import Serializer from "ember-data/serializers/json-api";

export default Serializer.extend();

JSON API調用返回數據:

{
    data: {
        type: 'person',
        id: 5,
        attributes: {
            "name": "John",
            "pet": {
                "typeOf": "cat",
                "petName": "Furry"
            }
        }
    }
}

暫無
暫無

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

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