我有一个HTML文档:
<body>
{{> today_list}}
</body>
模板:
<template name="today_list">
{{#if action_log_mode}}
...
{{/if}}
{{#if action_list_mode}}
...
{{/if}}
</template>
是否可以将此模板拆分为另外两个。像这样:
<body>
{{#if action_log_mode}}
{{> one}}
{{/if}}
{{#if action_list_mode}}
{{> two}}
{{/if}}
</body>
答案 0 :(得分:1)
您可以拥有任意数量的模板,它们可以嵌套。它们可能位于相同或不同的.html文件中。
我不知道你是否可以在体内(模板外)调整模板助手的范围。模板助手的范围限定为特定模板。例如,'one'将无法在模板'two'中访问Template.one.listItem = function () { ...
。但是,您可以添加一个全局帮助程序(可能在<body>
中工作),如此(取自Meteor wiki):
Handlebars.registerHelper("foo", function() {
return "blah"; // (calculate value here)
});
绝对可行的是:
在app.html中
<body>
{{ > page }}
</body>
<template name="page">
{{#if isLogMode}}
{{ > one }}
{{else}}
{{ > two }}
{{/if}}
</template>
<template name="one">
...
</template>
<template name="two">
...
</template>
在app.js
Template.page.isLogMode = function () {
// (something like)
return Session.get('logMode') === "log";
};