我在研究一个流星的例子。我在链接上的click事件中获得了一个标记的值。该值与doc“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上所有元素的所有跨度来更新模板,并且所有与宠物相关的内容都会消失。
对mongodb的查询工作正常,我的问题是我有点困惑。
我应该使用助手吗?
非常感谢你。
答案 0 :(得分: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');