我有以下模板文件(实际用于我的组件)
{{#each details.secs as |sec|}}
<div class="row">
{{#each secs.flds as |fld|}}
// if fld.id is 'abc', use abc.hbs
// if fld.id is 'xyz', use xyz.hbs
{{/each}}
</div>
{{/each}}
我的问题是如何使用单独的子模板文件并将它们包含在上面的父文件中(根据条件)
因此,如果 field.id 是“abc”,它应该使用 abc.hbs 中的渲染逻辑 此外 abc.hbs 需要“字段”模型输入用于渲染目的(其输出应附加到主模板中)
最佳答案
使用 Ember 2.0,创建和注册我们自己的 eq(等于)助手非常简单:
ember generate helper eq
包括我们的平等函数:
// app/helpers/eq.js
import Ember from 'ember';
export function eq(params, hash) {
return (params[0] === params[1]);
}
export default Ember.Helper.helper(eq);
并使用它!
{{#each details.sections as |section|}}
<div class="row">
{{#each section.fields as |field|}}
{{#if (eq field.id "abc")}}
{{abc-component data=field}}
{{/if}}
{{#if eq field.id "xyz)}}
{{xyz-component data=field}}
{{/if}}
{{/each}}
</div>
{{/each}}
关于javascript - Ember 使用单独的子模板文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33240639/