【发布时间】:2013-08-27 23:04:54
【问题描述】:
我肯定错过了 Handlebars 的工作方式。我需要根据变量的值调用不同的部分。目前我发现这样做的唯一方法是:
<template name="base">
{{#if a}}{{> a}}{{/if}}
{{#if b}}{{> b}}{{/if}}
{{#if c}}{{> c}}{{/if}}
</template>
并在对应的JS中:
Template.base.a = function () {
return (mode === "a");
}
Template.base.b = function () {
return (mode === "b");
}
Template.base.c = function () {
return (mode === "c");
}
...这让我觉得非常冗长。我真正想做的是:
<template name="base">
{{> {{mode}} }}
</template>
换句话说,mode 的值将是被调用部分的名称。
这似乎是一个非常常见的用例,但我在网上找不到任何这样的例子。我哪里出错了?
【问题讨论】:
-
官方的 dynamic partials(来自 Joshua)真的应该是这里的默认答案。