我有一个简单的组件,我想为动态命名的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; (即产量结果爆炸)
答案 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