【发布时间】:2013-08-23 14:59:18
【问题描述】:
我在使用流星中的保留方法时遇到问题。它似乎没有做我想做的事。
基本上,我有三个嵌套模板,在渲染时,它们的关闭状态如下所示:
<div class="Dropdown"><!--From Template1-->
<div class="Group"><!--From Template2-->
<div class="SubGroup"><!--From Template3-->
I'm the subgroup's content!
</div>
</div>
</div>
要查看 .SubGroup 节点中的内容,所有模板包装器都需要带有 .Open 类名。这是在点击事件上完成的。这是打开状态的样子:
<div class="Dropdown Open"><!--From Template1-->
<div class="Group Open"><!--From Template2-->
<div class="SubGroup Open"><!--From Template3-->
I'm the subgroup's content!
</div>
</div>
</div>
问题是,当事件触发并从 .SubGroup 的内容中更改数据库时,看起来 Template2 和 Template3 都被重新渲染并失去了它们以编程方式应用的 .Open 类。
我已经尝试在每个模板上使用Template.Template2.preserve(['.Group']);
,我认为几乎每个选择器都会影响它。我也尝试过 {{#constant}} 和 {{#isolated}} 助手,但还没有得到预期的结果。
防止 Meteor 抹去我的班级名称的正确方法是什么?
【问题讨论】:
标签: meteor handlebars.js preserve