2013-08-23 3 views
0

더 큰 프로젝트 ember에서 문제가 발생했습니다. 해당 모델의 컨트롤러와 연결되지 않은 템플릿에있을 때 모델에서 정보를 가져오고 싶습니다. . 보기에서 emberjs의 다른 컨트롤러에서 모델 가져 오기

나는 이러한 템플릿 가지고 : 내가 한 커뮤니티를 가지고 지역 사회에 대한 그래서 적절한 모델을 가져 오는 경로에서

<script type="text/x-handlebars" data-template-name="community"> 
    {{model.name}} 
    {{outlet}} 
</script> 

//users is a subroute from community 
<script type="text/x-handlebars" data-template-name="communityUsers"> 
    //assume i want to display something from a community here like: 
    {{community.id}} 
    {{#each user in model}} 
    <li>{{user.name}}</li> 
    {{/each}} 
</script> 

을하고 communityUsers에 내가

사람이 알고 않는 사용자와 배열이 이것에 가장 적합한 해결책은 무엇입니까?

+0

더 구체적인 방법으로 문제를 설명해야한다고 생각합니다. 모델로부터 어떤 정보를 원하십니까? "최고의 솔루션"을 요구하지 말고 문제를 해결하는 솔루션을 요구하십시오. – Mark

답변

1

템플릿에서 다음

needs: ['community'] 

으로, 내가 원하는 해당 모델의 컨트롤러와 관련이없는 템플릿에있을 때 모델에서 정보를 가져옵니다.

가정 당신이 당신의 지역 사회가 같이 얻을 :

App.CommunityRoute = Ember.Route.extend({ 
    model: function() { 
    return App.Community.find(); 
    } 
}); 

것은 또한 당신이 관련되지 않은 컨트롤러에서 액세스 할 수 있도록하려면 가정 당신의 CommunityController (이 내용 세트의 어떤 수의 모델 후크 반환 후) 당신은 needs API를 사용하고 그 페이지에 액세스 할 수 있습니다 당신의 communityUsers 템플릿에 그래서 지금에

App.CommunityUsersController = Ember.Objectontroller.extend({ 
    // here dependence definition 
    needs: ['community'], 
    // create an observer that returns the community you want 
    // I've chosen just the first one 
    choosenCommunity: function() { 
    return this.get('controllers.community').objectAt(0); 
    }.observes('controllers.community') 
}); 

을 의존도를 정의 할 수 있습니다 roperties

<script type="text/x-handlebars" data-template-name="communityUsers"> 
    //assume i want to display something from a community here like: 
    {{choosenCommunity.id}} 
    {{#each user in choosenCommunity.users}} 
    <li>{{user.name}}</li> 
    {{/each}} 
</script> 

그리고 가장 좋은 점은 바인딩 된 이후로 모든 것이 최신 상태로 유지된다는 것입니다.

희망이 있습니다.

+0

내 문제를 해결합니다. 감사합니다! –

1

내가 이해 한 바에 따르면, 이라는 모델의 템플릿 내부에있는 템플릿 communityUsers에 액세스하려고합니다. 당신이 정의했습니다 당신의 communityUsersController이 필요로하는 경우 communityController 나는 엠에서 더 큰 프로젝트에 문제가있어

{{#each user in controllers.community.model}} 
<li>{{user.name}}</li> 
{{/each}} 
+0

이것은 내가 필요로하는 것이었고, 대단히 감사합니다! –

관련 문제