我有一个模板:
<template name="outerTemplateName">
...
{{> Template.dynamic template=inner}}
...
</template>
但是,我想要呈现为内部模板的模板中还包含一个动态模板:
<template name="innerTemplateName">
...
{{> Template.dynamic template=anotherInner}}
...
</template>
是否可以使用BlazeLayout.render()来实现类似下面的模板?
<template name="outerTemplateName">
...
{{> innerTemplateName anotherInner="anotherInnerTemplateName"}}
...
</template>
答案 0 :(得分:0)
我不知道如何将模板传递给其他模板,但您可以通过传递这样的字符串来动态切换模板。
<template name="outerTemplate">
{{> innerTemplate childTemplateName="templateA"}}
</template>
<template name="innerTemplate">
{{#if showTemplate 'templateA' }}
{{> templateA }}
{{/if}}
{{#if showTemplate 'templateB' }}
{{> templateB }}
{{/if}}
</template>
<template name="templateA">
<h1>I am templateA</h1>
</template>
<template name="templateB">
<h1>I am templateB</h1>
</template>
模板助手
Template.innerTemplate.helpers({
showTemplate : function (templateName) {
return templateName === this.childTemplateName;
}
});