2

私には 3 人がいて、それぞれが同じ質問に対して独自の答えを持っています。

1 つのテンプレートには、名前と質問が表示されます。別のテンプレートに答えがあります。(合計 4 つのテンプレート。名前/質問用に 1 つ、その他に 3 つ - 一意の回答ごとに 1 つ)。

<template name="people">

  {{#each profile }}

    <h2>{{ name }}</h2>
    <p>{{ question }}</p>    

    <p>{{> answer }}</p> 

  {{/each }}

</template>

ヘルパーをセットアップして、各profileループの実行時に正しい名前のテンプレートを挿入できるようにしたいと考えています ( の代わりに{{> answer }}、名前で識別される 3 つの異なるテンプレート{{> nameAnswers }}、別名{{> fooAnswers }}.

これを試してみると、 ごとprofileに 1 つではなく、 ごとに3 つすべてが表示されますprofile

<template name="people">

  {{#each profile }}

    <h2>{{ name }}</h2>
    <p>{{ question }}</p>              

            {{#if nameHelper=Fred }}  
              {{> fredAnswers }}
            {{/if }}

            {{#if nameHelper=Ringo }}  
              {{> ringoAnswers }}
            {{/if }}  

            {{#if nameHelper=Jackson }}  
              {{> jacksonAnswers  }}
            {{/if }} 
  {{/each }}

</template>

注:{{> nameAnswers }}テンプレートは既に静的 html として定義されているため、それらを挿入する必要があります。

4

3 に答える 3

5

あなたはこれを行うことができます...

ブレイズの使用

https://github.com/meteor/meteor/wiki/Using-Blaze

<template name="people">

  {{#each profile }}

    <h2>{{ name }}</h2>
    <p>{{ question }}</p>              

            {{#if isName Fred }}  
              {{> fredAnswers }}
            {{/if }}

            {{#if isName Ringo }}  
              {{> ringoAnswers }}
            {{/if }}  

            {{#if isName Jackson }}  
              {{> jacksonAnswers  }}
            {{/if }} 
  {{/each }}

</template>


Template.people.helpers({
    isName:function(name){
       return //true or false;
    }
})
于 2014-09-11T23:57:41.303 に答える