8

わかりました、これは非常に基本的なことですが、2日間じっと見つめていて、なぜ機能しないのかわかりません. ハンドルバー IF ヘルパーを使用して条件付きでテンプレートをレンダリングしています。

HTMLは次のとおりです。

<head>
    <title>flash</title>
</head>

<body>
    {{#if isTrue}}
        {{> hello}}
    {{else}}
        {{> goodbye}} 
    {{/if}}
</body>

<template name="hello">
    <h1>Hello!</h1>
</template>

<template name="goodbye">
    <h1>Goodbye!</h1>
</template>

シンプルなコーヒーファイルは次のとおりです。

isTrue = true

{{> hello}} テンプレートがレンダリングされることを期待していますが、うまくいきません。{{> さようなら}} テンプレートを取得しました。私がこれを成功させた他のプロジェクトがあるので、それは奇妙です。ここで明らかな何かが欠けているに違いありません。

4

3 に答える 3

20

変数が機能するには、isTrue変数がテンプレートに含まれている必要があります。したがって、本文の内容をテンプレートに入れます。

<body>
    {{> body}}
</body>

<template name="body">
    {{#if isTrue}}
        {{> hello}}
    {{else}}
        {{> goodbye}} 
    {{/if}}
</template>

そして、次isTrueのように定義できます。

Template.body.helpers
  isTrue: -> true
于 2013-03-06T16:39:06.103 に答える
1

Meteor 1.2.0.2 では、このようにすることができます

Template.hello.helpers({
   isTrue() { return true }
});
于 2015-10-14T17:57:09.027 に答える