2013-01-22 126 views
1

我正在做一个流星的例子。我在链接上的点击事件中获得了一个标记的值。该值与doc“pet”或“zoo”中的一个集合中的值相同。我想使用此值来过滤模板上的内容。点击事件更新模板

小例子:

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

后点击:

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

在这种情况下,当我出现在“动物园”的价值我只是想更新所有的跨度模板包含doc动物园上的元素,并且所有与宠物有关的消息都消失。

对mongodb的查询工作正常,我的问题是我有点困惑。

我应该使用助手吗?

非常感谢。

回答

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'); 
相关问题