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