第二个余烬模板可防止首先显示

时间:2013-01-21 19:44:04

标签: javascript ember.js client-side handlebars.js

我正在使用ember,主要是为了方便客户端模板。

我在页面中有多个 <script type="text/x-handlebars"> 标记时遇到问题。它最终只显示最后一个模板。所以,如果我从

开始
<script type="text/x-handlebars"

显示完整信息。但如果我把它变成

<script type="text/x-handlebars">
    <h1> My name is {{name}} </h1> 
    <h2> My favorite color is {{color}} </h2>
</script>

它只显示喜欢的颜色线。

我正在尝试在示例http://emberjs.com/examples/contacts/中复制类似的行为,但它们似乎没有执行多个未命名脚本的问题。

任何人都知道我需要做些什么来完成这项工作?

1 个答案:

答案 0 :(得分:2)

这些例子非常过时。如果你试图使用最新版本的ember跟随它们,很多东西都行不通。

具体到您的问题,ember将使用最后一个未命名的模板作为您的应用程序模板,但您需要为其他模板命名。因此,对于上面的示例,添加data-template-name属性:

<script type="text/x-handlebars" data-template-name="color">
  <h2> My favorite color is {{color}} </h2>
</script>

有了这个,ember将使用剩余的模板作为“应用程序”模板。现在,您需要修改该模板以在适当的位置插入“颜色”模板。有很多方法可以实现这一点 - 我在这里使用partial帮助器:

<script type="text/x-handlebars">
  <h1> My name is {{name}} </h1> 
  {{partial "color"}}
</script>

以下是一个工作示例:http://jsbin.com/uzeyum/2/edit

希望这可以帮助您入门。由于示例已经过时,我建议您通读ember guides!这是最新版本的最新版本。