2012-02-03 70 views
0

我创建了一个ListView和我希望能够做到这一点:如何使用Em.ContainerView内模板作为孩子的模板

{{#view UI.ListView}} 
    <div class="icon"><img src="{{icon}}" /></div> 
    <span class="name">{{name}}</span> 
{{/view}} 

,并使用:

<div class="icon"><img src="{{icon}}" /></div> 
<span class="name">{{name}}</span> 

为childView模板。

我该怎么做?

编辑:也许我不清楚在我的问题。这是我最终得到的:https://gist.github.com/1626943(见第27-30行)。 我试图获取视图的内部模板字符串,但这是不可用的任何地方(至少我找不到它)。只有可用的编译版本。但这似乎够了。

回答

0

list.handlebars应该是这样的:

{{#each items}} 
{{view App.ShowItemView entryBinding="this"}} 
{{/each}} 

而且,show.handlebars应该像部份:

<div class="icon"><img src="{{icon}}" /></div> 
<span class="name">{{item.name}}</span> 
1
  1. 只是想指出,你应该使用bindAttr图像src的助手。

  2. 我不认为丹的回答会的工作,因为它是结合每个项目entry,但随后在子视图中使用item.name

我已经把一个JS提琴同时显示这些东西:http://jsfiddle.net/tomwhatmore/xXq7e/1/

相关问题