我想用来引用{{#each}}循环中的另一个模板
HTML:
{{#each listOfItems}}
{{>{{variableOne}}}}
{{/each}}
应该呈现
<Template name="one">
One
</Template>
或
<Template name="two">
Two
</Template>
取决于js
其他尝试过的语法包括
{{>'{{variableOne}}'}}
或
{{>Template.dynamic template={{variableOne}}}}
非常感谢任何帮助或解决方法!
答案 0 :(得分:1)
不确定你想要完成什么。我假设你正在使用Blaze渲染引擎。如果你想传递参数,试试这个:
{{#each}}
{{> TemplateName variable=variable}}
{{/each}}
或者,如果您想根据变量值显示某个模板,请尝试此操作(注意 - eq用作比较值的全局帮助程序):
{{#each}}
{{#if variable eq 1}}
{{> TemplateOne}}
{{else}}
{{> TemplateTwo}}
{{/if}}
{{/each}}
答案 1 :(得分:1)
假设您迭代的列表包含模板名称,这将为您提供所需的内容:
HTML:
<template name="hello">
{{#each template in myTemplates}}
{{> Template.dynamic template=template }}
{{/each}}
</template>
<template name='foo'>foo-template</template>
<template name='bar'>bar-template</template>
JS:
Template.hello.helpers({
myTemplates() {
return ['foo', 'bar'];
},
});