17

ハンドルバーの仕組みについて何かが欠けていることは間違いありません。変数の値に応じて、異なるパーシャルを呼び出す必要があります。現在、私が見つけた唯一の方法はこれです:

<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呼び出されるパーシャルの名前になります。

これは非常に一般的な使用例のようですが、オンラインでこの例を見つけることができません。どこで間違ったのですか?

4

2 に答える 2