2016-11-18 4 views
0

私はBlaze with Meteorを使用しています。 Iはannouncements_list.htmlBlazeの流星:私のヘルパーが{{#each}}ループで動作していません

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

を有し、Iは{{}}各ループを削除した場合、iは{{> announcementItem}}読み取ることができる

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

をannouncements_list.js。だから問題はヘルパーの機能だと思う。助けてください=。= ...

+0

これはうまくいくようです。 'AnnouncementsList'テンプレートにデータコンテキストが提供されていますか?すなわち、それはそれにデータを与えている別のテンプレートに包まれていますか? –

+0

コンソールにエラーメッセージが表示されますか? – Khang

+0

ええ@Khang私の悪い...私は私のコンソールでいくつかのエラーが発生しました。ありがとうございました ! – MiceBishop

答えて

1

アナウンスメントのデータベースにannouncementItemがありますか、テンプレートからデータにアクセスしようとしていますか?前者の場合は、あなたの火の呼び出しは{{announcementItem}}にする必要があります。 #それぞれに、#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

    通じヘルパーやイベントonCreatedonRendered
  • this.dataにアクセスできるようになります。
関連する問題