2016-08-16 82 views
0

我叫回報,如數據的API:燼:類型對象的屬性

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

型號/ person.js:

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

模板:

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

這適用於名但不適合寵物。即使沒有寵物的API調用,我是否必須創建寵物模型?這是否會起作用,因爲API將pet作爲對象屬性返回,而不是關係?

+0

只是嘗試寵物:ATTR() - 它意味着定義沒有變換的屬性。 – kumkanillam

+0

我的不好,那就是我所做的。這是否意味着它應該起作用,保存對象屬性? – edhel

+1

是的。這應該工作。 – kumkanillam

回答

1

Yes.It會工作。 ember-twiddle

路線/ 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(); 

串行器/ 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" 
      } 
     } 
    } 
} 
+0

好的,謝謝你的指導,這意味着我的問題在其他地方,我可以排除這種擔心,太棒了! – edhel