如何使用ember组件注入动态部分?

时间:2015-03-01 23:35:24

标签: ember.js

我有一个简单的组件,我想为动态命名的partials提供一个钩子。

理想情况下,我想支持此界面

{{my-thing displayPartial="wat"}}

然后用户将声明一个部分模板" -wat.hbs"它将被包括在内

目前这就是我在组件hbs中做的事情(不起作用)

{{partial displayPartial}}

修改

或基于可选块的版本

{{#my-thing}}
<p>{{result.name}}</p>
{{/my-thing}}

然后在组件hbs中我在每个循环/ etc

中产生这个
{{#each x in controller}}
{{yield}}
{{/each}}

块版本的问题是我似乎无法通过&#34;结果&#34; (即产量结果爆炸)

1 个答案:

答案 0 :(得分:2)

您应该能够执行以下操作:

<script type="text/x-handlebars" data-template-name="index">
  <ul>
  {{#each item in model}}
    {{my-thing displayPartial=item}}
  {{/each}}
  </ul>
</script>

<script type="text/x-handlebars" id="red">
  RED
</script>

<script type="text/x-handlebars" id="_yellow">
  YELLOW
</script>

<script type="text/x-handlebars" id="_blue">
  BLUE
</script>

<script type="text/x-handlebars" id="components/my-thing">
  <div {{ bind-attr class='displayPartial'}}>
    {{ partial displayPartial }}
  </div>
</script>

此外,不再需要部分名称中的前导下划线 - https://github.com/emberjs/ember.js/issues/2242

工作解决方案here