0

私は meteor を使って最初のアプリを作成していますが、必要以上にテンプレートを使って自分自身を繰り返しているように感じます。

ユーザーの連絡先ビューやグループ メンバーの追加ビューなど、複数の親ビューがあります。(以下に簡単な例を示します。)

<template name="GroupMembers">
    {{#each contacts}}
        {{> contact }}
    {{/each}}
</template>

<template name="contacts">
    {{#each contacts}}
        {{> contact }}
    {{/each}}
</template>

<template name="contact">
    //... single contact template stuff
</template>

連絡先が連絡先リストに表示されるときに、連絡先から削除するリンクを単一の連絡先テンプレートに表示したいのですが、グループ メンバー リストでは、その代わりに「グループに追加」リンクが必要です。おそらく、セッション変数を使用するか、iron-router コントローラー obj を呼び出すことでこれを達成できることはわかっていますが、テンプレート ヘルパーでこれを行う簡単な方法があるかどうか知りたいです。または別の言い方をすれば、これらのテンプレート パーシャルはコンテキスト アウェアになるのでしょうか?

どんな助けでも素晴らしいでしょう。

ありがとう。

4

1 に答える 1

2

私はこのようにそれを解決します:

<template name="GroupMembers">
    {{#each contacts}}
      {{> contact groupMembers=true}}
    {{/each}}
</template>

<template name="contacts">
    {{#each contacts}}
        {{> contact }}
    {{/each}}
</template>

<template name="contact">
    <p>
      {{#if groupMembers}}
        {{../name}} 
        <button>add to group</button>
      {{else}}
        {{name}} 
        <button>delete</button>
      {{/if}}
    </p>
</template>

ライブデモ: http://meteorpad.com/pad/LDTvHC787kJ6e9JQA/Leaderboard

于 2014-12-21T13:37:54.650 に答える