[英]How Do I Call a Template from Within Another Template's Helper Function When Using Meteor?
[英]How Do I Return Template From Meteor Template Helper?
我的HTML:
<template name="foo">
{{#each category}}
{{#if this.custom}}
{{> someTemplateName}}
{{else}}
{{> generic}}
{{/if}}
{{/each}}
</template
如何将某些值返回到“someTemplateName”,以便我可以根据#each语句中的对象切换模板。
Template.foo.someTemplateName = function () {
return A_TEMPLATE_NAME
}
谢谢。
正确的语法如下:
JS
Template.foo.helpers({
someTemplate:function () {
return Template.someTemplate;
}
});
HTML
<template name="someTemplate">
<p>SOME TEMPLATE</p>
</template>
它实际上并不是您操作的名称,而是模板对象,它们位于变量名称Template.myTemplate
。
如果要操作模板名称,请尝试使用UI.dynamic
:
HTML
<template name="foo">
{{> UI.dynamic template=someTemplateName}}
</template>
JS
Template.foo.helpers({
someTemplateName:function () {
return "someTemplate";
}
});
解决方案实际上非常简单。
<template name="foo">
{{#each category}}
{{#if this.custom}}
{{> someTemplateName}}
{{else}}
{{> generic}}
{{/if}}
{{/each}}
</template>
我还给了一个帮手:
Template.foo.someTemplateName = function () {
return Template[this.name];
}
this.name来自`{{#each}}'上下文。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.