2016-06-14 4 views
0

의 참조 모델을 얻을 내가 console.log (제목) 재생 : 정확히 내가 원하는 것을 보여줍니다
그러나 console.log (사용자 이름) : 아니, 아무것도 얻지 못합니다.엠버 - CLI 내가이가 내 경로에 afterModel

이 문제를 해결하는 데 도움이 필요합니다.

+0

'model.get ('user '). get ('name ');'이 (가) 비어 있습니다. 그렇다면'model.get ('user.name');'을 시도해 볼 수 있습니까? 작동하지 않는 경우. ember 디버거에서 사용자 모델이 있는지 확인하십시오. –

+0

@Charizard_ : console.log (model.get ('user')); null 클래스를 돌려줍니다. 그리고 예, ember 디버그에있는 '사용자'모델을 볼 수 있습니다. – Nam

+0

그런 다음'this.store.findRecord ('book', params.id)'가 반환 한 데이터에 문제가 있어야합니다. 게시 할 수 있습니까? –

답변

1

문제는 user 연관을 얻는 동안 실제로 약속을 반환합니다. 따라서 afterModel 후크를 이와 같이 변경하십시오.

afterModel: function(model) { 
     var title = model.get('title'); 
     model.get('user').then(function(user){ 
     var userName = user.get('name'); 
     $(document).attr('title', 'This '+ book + ' is belongs to '+ userName); 
     }); 
    }, 

편집 : 약속이 해결받을 때 바인딩이 자동적으로 템플릿에서 해결되기 때문에 템플릿에서 일하는 것이 model.user.username 사용. 그러나 javascript에서는 해결해야 할 약속을 기다려야합니다.

+0

완벽 정확히 내가 찾고있는 것. 감사합니다 : D – Nam

+0

'model.user.username'을 사용하면 약속이 해결 될 때 바인딩이 자동으로 템플릿에서 해결되기 때문에 템플릿에서 작동합니다. 그러나 javascript에서는 해결해야 할 약속을 기다려야합니다. –

관련 문제