0

所以我想渲染一个模板,当我的 Players 集合中的分数值等于 500 时,它会保存一个图像,即使玩家分数等于 500,它现在也不会渲染,我需要一个 if 语句在我的车把还是别的?

到目前为止我制作的相关代码

客户

    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应该在客户端上,而不是在服务器上。这很可能是问题所在。此外,您有两个名为 的模板winner,但如果您有重复的模板名称,Meteor 应该在命令行上抛出错误。

最后,这不是您所要求的,但它也可能对调试很方便。您可以使用 Handlebars 检测模板中的光标是否为空{{else}}

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