我刚刚开始使用 Meteor,我有点困惑;我不确定这是 Meteor 问题还是 Handlebars 问题。
我正在尝试创建一个嵌套菜单(一组可点击的 div,每个可切换一个由更多可点击的 div 组成的子菜单)。我希望子菜单默认隐藏,但在用户单击其父级时出现。
这就是我所拥有的:
Template.sidebutton.events({
click : function() {
this.clicked = !this.clicked;
clickHandlers[this.label]();
}
})
和
<template name = "sidebutton">
<div class = "sidebutton" id = "sidebutton_{{label}}"><p>{{label}}</p></div>
{{#if clicked}}
{{#each submenus}}
{{> submenu}}
{{/each}}
{{/if}}
</template>
我已验证单击时会触发 onclick 功能;this.clicked 被切换并且我的点击处理程序被调用。我还验证了如果我去掉 #if 块或者我在初始页面加载时将 clicked 设置为 true 会出现子菜单。但是当我点击时子菜单没有出现。
我还需要做些什么吗?我发现的关于 Meteor 的一切似乎都暗示,如果我更改任何数据,受影响的对象会重新渲染,但似乎它们没有在这里重新渲染。