0

したがって、Players コレクションのスコアの値が 500 に等しい場合に画像を保持するテンプレートをレンダリングしたいのですが、現在、プレーヤーのスコアが 500 に等しい場合でもまったくレンダリングされません。ハンドルバーか何か?

これまでに作成した関連コード

クライアント

    foo.html

    <body>
    <div class="container">
    {{> header}}
    <div class="row-fluid">
    <div class="span8">
    {{> leaderboard}}
    </div>
    <div class="span4">
    {{> champion}}
   </div>
   </div>
   </div>
   </body>


   <template name="champion">
   {{#each winners}}
     {{> winner}}
   {{/each}} 
   </template>


   <template name="winner">
  <img src="gold.jpg" alt="winner">
  </template>


 foo.js

 Template.champion.winners = function () {
   return Players.find({score: 500});
  };
4

1 に答える 1

2

Template質問でコードをサーバー上にあるとマークしましたが、コードはサーバーではなくクライアントTemplate.winner.winners上にある必要があります。これが問題である可能性が高いです。また、 という名前の 2 つのテンプレートがありますが、テンプレート名が重複している場合、Meteor はコマンド ラインでエラーをスローする必要があります。winner

最後に、これはあなたが求めたものではありませんが、デバッグにも便利な場合があります。Handlebars を使用して、テンプレートでカーソルが空かどうかを検出できます{{else}}

 {{#each winners}}
      {{> winner}}
 {{else}}
      no winners!
 {{/each}}
于 2013-08-15T02:19:50.017 に答える