2016-08-16 5 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가 애완 동물을 객체 속성으로 반환하고 관계가 아니기 때문에 효과가 있습니까?

+0

그냥 애완 동물 시도 : ATTR()를 - 그것은 변환하지 않고 속성을 정의하는 것을 의미합니다. – kumkanillam

+0

내 잘못, 그게 내가 한 짓이야. 그것은 객체 속성을 저장하면서 작동해야한다는 것을 의미합니까? – edhel

+1

예. 그게 효과가있다. – kumkanillam

답변

1

예. 작동합니다. ember-twiddle

노선//

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.js

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

어댑터//

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

export default Adapter.extend(); 

시리얼을 application.js 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