当Mongo中的值等于某个值时渲染模板

时间:2013-08-15 02:07:29

标签: meteor

所以我想渲染一个模板,当我的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});
  };

1 个答案:

答案 0 :(得分:2)

您在问题中将Template代码标记为服务器,但Template.winner.winners的代码应位于客户端上,而不是服务器上。这很可能是问题所在。此外,您有两个名为winner的模板,但如果您有重复的模板名称,Meteor应该在命令行上抛出错误。

最后,这不是你问的问题,但它也可以用来调试。您可以使用Handlebars {{else}}

检测模板中的光标是否为空
 {{#each winners}}
      {{> winner}}
 {{else}}
      no winners!
 {{/each}}