0
我想使用具有不同数据集的相同模板,但我不确定该怎么做。将数据动态传递给流星中的模板
我的模板是这样的:
<template name="eventsList">
<div class="event">
{{#each events}}
{{> eventItem}}
{{/each}}
</div>
</template>
,我想使用它是这样的:
<template name="dashboard">
<div class="tab-content">
<div class="tab-pane active" id="all-events">
{{>eventsList allEvents}}
</div>
<div class="tab-pane" id="my-events">
{{>eventsList registeredEvents}}
</div>
<div class="tab-pane" id="archived-events">
{{>eventsList archivedEvents}}
</div>
</div>
</template>
现在所有的参数,即allEvents,registeredEvents和archivedEvents来自同一蒙戈DB收集牵强,但选择标准是不同的,我拿他们像:
Template.eventsDashboard.allEvents = function() {
return Events.find({scheduleDate: {$gte: new Date()}}, {sort: {scheduleDate: 1}});
}
Template.eventsDashboard.registeredEvents = function() {
return Events.find({registeredUsers: Meteor.userId()}, {sort: {scheduleDate: 1}});
}
Template.eventsDashboard.archivedEvents = function() {
return Events.find({scheduleDate: {$lt: new Date()}}, {sort: {scheduleDate: 1}});
}
但在js控制台中出现错误,其中显示“Deps重新计算的异常:TypeError:无法读取未定义的属性”事件“”。如果我定义eventslist辅助方法,象下面这样:
Template.eventsList.helpers({
events: function() {
return Events.find({scheduleDate: {$gte: new Date()}}, {sort: {scheduleDate: 1}});
}
});
然后错误消失,但无论如何,注册事件和归档事件无论通过eventsList助手返回显示的所有三个选项卡。
请让我知道上面的代码中缺少的是什么。
感谢, Aashu