2013-02-02 413 views
4
渲染部分多次

我想每次都多次呈現在模板視圖不同的數據,特別是這樣的:在灰燼

<script type="text/x-handlebars" data-template-name="foobar"> 
    {{render "_people" peopleArray}} 
    <!-- ... --> 
    {{render "_people" anotherPeopleArray}} 
</script> 

<script type="text/x-handlebars" data-template-name="_people"> 
    {{#each person in controller}} 
     {{person.name}} 
    {{/each}} 
</script> 

我得到JS錯誤:「斷言失敗:這個視圖已經呈現「。

如果我將{{render "_people"}}更改爲{{partial "people"}}那麼它會呈現多次,但我不知道如何將不同的數據傳遞到那裏。

爲了澄清,我能夠創建一個部分/視圖,我可以將數據傳遞給並可以多次調用。我確信這很簡單,我只是缺少一些東西。

任何幫助,將不勝感激。謝謝。

回答

3

您只能使用{{render}}一次。如果您需要多次做它,使用{{control}}代替,如:

{{control "people" peopleArray}}

這將創建一個people模板,PeopleViewPeopleController與它的content設置爲peopleArray

+0

要與rails-使用你現在需要添加controlID: (http://bit.ly/XPOu5i) – iHiD

+0

是{0}這是一個ne w功能?你能指出解釋這個的文檔/例子嗎? –

+0

@Sherwin這是非常新的,目前只在主站https://github.com/emberjs/ember.js/blob/master/packages/ember-routing/lib/helpers/control.js上可用...唯一的文檔是https://gist.github.com/9ceed5d6708c655d3402 –