流星:如何在车把内使用车把

时间:2017-03-02 06:39:51

标签: javascript meteor handlebars.js

我想用来引用{{#each}}循环中的另一个模板

HTML:

{{#each listOfItems}}
 {{>{{variableOne}}}}
{{/each}}

应该呈现

<Template name="one">
 One
</Template>

<Template name="two">
 Two
</Template>

取决于js

其他尝试过的语法包括

{{>'{{variableOne}}'}}

{{>Template.dynamic template={{variableOne}}}}

非常感谢任何帮助或解决方法!

2 个答案:

答案 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'];
  },
});