0

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

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

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

它显示完整的消息。但是如果我把它变成

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

它只显示最喜欢的颜色线。

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

有人知道我需要做什么才能完成这项工作吗?

4

1 回答 1

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 指南!这是最新的最新版本。

于 2013-01-21T22:11:22.217 回答