我是 Meteor 的新手,想知道如何解决在我看来是一个常见问题。
假设我有一个列出餐厅的车把模板:
<template name="Restaurants">
{{#each Restaurant}}
{{name}}
{{/each}}
</template>
现在,当用户单击餐厅模板时,我想显示该餐厅的菜单。
我添加了一个名为“menuItems”的子模板,其中包含给定餐厅的所有菜单项:
<template name="Restaurants">
{{#each Restaurant}}
{{name}}
{{> menuItems}}
{{/each}}
</template>
当用户单击餐厅模板上的任意位置时,我只想渲染 menuItems 子模板的一个实例(仅渲染所选餐厅的菜单项)。
它应该是这样的:
Template.Restaurants.events({
'click' : function (e) {
// This is where I need help - what's the right way to display only one subtemplate instance?
}
});
我的问题是 - 我如何才能选择并只显示正确的 menuItems 模板实例?
此外,我想仅在单击之后而不是之前将 menuItems 模板实例放置在 DOM 中(拥有所有餐厅的所有菜单项并且仅隐藏这些 div 不是一个选项,因为 db 中这些项目的数量很大)。
如果您认为我应该以其他方式解决问题,请告诉我,谢谢!