2013-02-02 197 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 –