2014-06-24 3 views
1

Ember.js와 작업하려고합니다. 경로 또는 컨트롤러를 통해 json으로 데이터 모델을 노출 할 수 있습니까?Ember 경로 또는 컨트롤러가 json으로 데이터 모델을 표시합니다.

나는 객체 저장소에 저장이 같이 있습니다

this.store.createRecord('Person', { 
    id: 1, 
    name: this.get('name'), 
    email: this.get('email') 
}); 

내가 JSON 객체로 경로 나 컨트롤러에서이 데이터를 노출합니다. 나는 어떤 시각도 사용하고 싶지 않다.

가능한가요? 도움

편집 내 경로에 대한 감사입니다 : 만이 레코드를 원하기 때문에

App.ResultRoute = Ember.Route.extend({ 
model: function() { 
    return this.store.find('person', 1); 
    } 
}); 

'1'이있다. 이렇게하면 작동하며 Person 객체의 {{name}} 및 {{email}을 볼 수 있습니다. 나는 단지 JSON을보고 싶어, 당신이 나에게 제안을 수행하는 방법을 시도 :

App.ResultRoute = Ember.Route.extend({ 
    afterModel: function (model) { 
    model.get('content').forEach(function (item) { 
    console.log(item.get('content')); 
    }); 
} 
}); 

을하지만이 오류가 나타납니다 : catch되지 않은 오류 : 어설 션 실패 : 오류 : 더 많은 컨텍스트 객체가 동적이보다 전달 된 경로의 세그먼트 : 오류

내 오류 란 무엇입니까 ?? 감사합니다.

답변

0

이 가이드의 처음부터 시작하십시오. http://emberjs.com/guides/routing/specifying-a-routes-model/ 경로에 대한 모델을 지정하는 방법을 보여줍니다. 당신은 JSON으로 첫 번째 개체에 액세스하고 싶었다면

this.store.find('person') // All records 

: 당신이 경로의 model 후크에서 해당 데이터에 액세스 할, 일반적으로 http://emberjs.com/guides/controllers/

: 다음

는 컨트롤러에이 전체 가이드를 읽어

var person_JSON = this.store.find('person').then(function (persons) { 
    //The persons records are now available so you can do whatever you want with them 
    console.log(persons.objectAt(0).get('content')); 
}); 

모든 레코드를 반복하고 내용을 제거하여 원시 json을 생성 할 수도 있습니다. Ember wrapping ... 당신이 정말로해야 할 일에 달려 있습니다.

실제로 경로를 넣는 가장 좋은 장소는 경로 afterModel입니다. 엠버 (Ember)가 당신을 위해 그것을 다룰 것이기 때문에 당신은 약속을 가지고 일하지 않을 것입니다.

afterModel: function (model) { 
    model.get('content').forEach(function (item) { 
    console.log(item.get('content')); 
    }); 
} 

희망이 있습니다.

편집 : 당신은 하나 개의 레코드를 가지고 있기 때문에이 시도 :

afterModel: function (model) { 
    console.log(model.get('content')); 
} 
+0

나는 대답 한 후에 내 질문을 편집 했습니까? – jerry

+0

@ user2408387 다른 제안으로 업데이트되었습니다. –

+0

작동하지 않습니다. 항상 같은 오류입니다. Ember가 JSON에서 데이터 모델을 공개 할 수 있습니까? 나는이 레코드 (Person 오순절의 이름과 메일)를 가지고 있으며, 'result'가이 객체를 JSON으로 리턴 할 수 있도록하고 싶다. 내가 할 수 있을까 ?? – jerry

1

나는 것 이런 짓을 했을까 방법은, 내가 그것을 물어 누구든지 일반 JSON 객체를 반환 내 모델의 API를 할 것입니다. 그러므로 Person 모델은 getPersonDetails 메소드를 가지게됩니다.이 메소드는 속성과 연관을 비롯한 모든 내부 세부 정보를 숨기고 그 밖의 객체는 숨기고 호출되는 person 객체의 상태를 반환합니다. 예를 들어, 사람 또는 무언가의 테이블을 표시하려면 createRecord를 작성하고 새로 작성한 person 오브젝트에 세부 사항을 문의하십시오.

관련 문제