2013-03-29 3 views
1

렌더링 :내가 현재보기 목록을 렌더링하고 여러보기/컨트롤러 쌍

<ul> 
    {{#each newsItem in controller}} 
     {{view App.NewsItemView contentBinding="newsItem" class="news-item" }} 
    {{/each}} 
    </ul> 

하지만 각보기에 NewsItemController를 주입하고 싶습니다.

내가 render를 사용 해본 적이 있지만이 경우에만 예외를 제공, 단일 뷰를 지원하는 것 같다 내가 대신 control를 사용하는 간단한 언급을 발견했습니다

Uncaught Error: Handlebars error: Could not find property 'control' on object .

을, 그러나 이것은 더 이상에 보인다 포함된다.

그렇다면 각보기에 별도의 컨트롤러를 삽입하여 동일한보기의 여러 버전을 어떻게 렌더링 할 수 있습니까?

답변

1

{{render}}은 현재 마스터 (Github에서 빌드 한 경우)로 고정해야합니다. (아직 실험 때문에)

<ul> 
{{#each controller}} 
    {{render "newsItem" this}} 
{{/each}} 
</ul> 

{{control}}이 여전히 존재하지만 플래그 뒤에 숨겨진입니다 : 당신이 모델을 통과하면 당신은 여러 번 사용할 수 있어야합니다. 이를 사용하려면 ENV.EXPERIMENTAL_CONTROL_HELPER = true 전에 ember.js 파일을 포함해야합니다. 사용을 피할 수 있다면 더 좋을 것입니다.

<ul> 
    {{each controller itemController="newsItem" itemViewClass="App.NewsItemView"}} 
</ul> 
: 당신이 그것을 간단 (나는 아직 그것을 시도하지 않은)하기 위해 그들을 결합 할 수 있다고 생각

<ul> 
    {{#each controller itemController="newsItem"}} 
    {{view App.NewsItemView class="news-item" }} 
    {{/each}} 
</ul> 

:

그러나 나는 가장 간단한 방법은 itemController을 사용하는 것입니다 생각