1

私は流星の例に取り組んでいます。リンクのクリック イベントで 1 つのタグの値を取得します。その値は、doc "pet" または "zoo" 内の 1 つのコレクションに存在する値と同じです。この値を使用して、テンプレートに存在するコンテンツをフィルター処理したいと考えています。

最小限の例:

    {{#each Animal}}
        <div>
          <span> {{pet}} </span> 
        </div>
        <div>
          <span> {{zoo}} </span> 
        </div>
    {{/each}}

クリック後:

{{#each Animal}}
        <div>
          <span> {{zoo}} </span> 
        </div>
    {{/each}}

この場合、"zoo" に存在する値を取得すると、ドキュメント Zoo の要素を含むすべてのスパンでテンプレートを更新し、ペットに関連するすべてが消えます。

mongodb へのクエリは完全に機能しています。私の問題は、少し混乱していることです。

ヘルパーを使用する必要がありますか?

どうもありがとう。

4

1 に答える 1

2

私があなたの問題を正しく理解しているかどうか見てみましょう。

実行中のアクションを保存するセッション変数を使用する必要があります。次に、テンプレートを追加してif、その時点で表示したいものをこのタグ内に印刷します。

最小限の例を見てみましょう:

<template name="showAnimalsTemplate">
   {{if showAnimals}}
   {{#each Animal}}
      <div>
        <span> {{pet}} </span> 
      </div>
      <div>
        <span> {{zoo}} </span> 
      </div>
   {{/each}}
   {{/if}}
   {{if showZoo}}
   {{#each Animal}}
      <div>
        <span> {{zoo}} </span> 
      </div>
   {{/each}}
   {{/if}}

この例に従って、クライアントの JavaScript に次のように追加します。

 Template.showAnimalsTemplate.showAnimals = function(){
     if( Session.get('action') == 'showingTheZoo')
           return true;
     return false;
 }

 Template.showAnimalsTemplate.showZoo = function(){
     if( Session.get('action') == 'showingTheZoo')
           return true;
     return false;
 }

クリック イベント内にセッション値を設定することを忘れないでください。

Session.set('action', 'showingTheZoo');
于 2013-01-22T23:05:30.323 に答える