1

我正在研究流星示例。我在链接上的点击事件中获得一个标签的值。该值与文档“pet”或“zoo”内的一个集合中存在的值相同。我想使用这个值来过滤模板上的内容。

一个最小的例子:

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

点击后:

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

在这种情况下,当我获得“zoo”中存在的值时,我只想使用包含 doc zoo 上元素的所有 span 更新模板,并且所有与 pet 相关的内容都消失了。

对 mongodb 的查询运行良好,我的问题是我有点困惑。

我应该使用助手吗?

非常感谢。

4

1 回答 1

2

让我们看看我是否正确理解了您的问题。

您应该使用 Session 变量来存储您正在执行的操作。然后添加一个模板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 回答