2016-11-18 31 views
0

我正在使用Blaze with Meteor。 我有announcements_list.htmlMeteor with Blaze:我的幫手沒有使用{{#each}}循環

<template name="AnnouncementsList"> 
    <div class="announcements"> 
     <ul class="collection"> 
      {{ #each announcements }} 
       {{ >announcementItem }} 
      {{ /each }} 
     </ul> 
    </div> 
</template> 

而且announcements_list.js

Template.AnnouncementsList.helpers({ 
    announcements: function() { 
     return Announcements.find({}, {sort: {createdAt: -1}}); 
    } 
}); 

如果刪除了{{每個}}環,我可以讀{{> announcementItem}}。所以我認爲問題是助手的功能。請幫助我=。= ...

+0

這看起來應該起作用。是否有數據上下文被提供給你的'AnnouncementsList'模板?即它是否包裹在另一個提供數據的模板中? –

+0

您是否在控制檯中看到任何錯誤消息? – Khang

+0

是啊@Khang my bad ...我的控制檯出現了一些錯誤,謝謝 ! – MiceBishop

回答

1

在您的通知數據庫中是否有AnnounceItem或您試圖訪問模板中的數據?如果前者,你的火焰應該是{{announcementItem}}。在#each,#unless或#with中沒有需要的箭頭。

0

您正在爲announcements中的每個項目渲染相同的模板。這個模板從哪裏獲取數據?我會做這樣的事情:

<template name="AnnouncementsList"> 
    <div class="announcements"> 
     <ul class="collection"> 
      {{#each item in announcements}} 
       {{> announcementItem item}} 
      {{/each }} 
     </ul> 
    </div> 
</template> 

然後全item對象將可以訪問你的announcementItem通過

  • Template.instance().data在助手和事件
  • this.dataonCreatedonRendered