所以我想渲染一个模板,当我的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});
};
答案 0 :(得分:2)
您在问题中将Template
代码标记为服务器,但Template.winner.winners
的代码应位于客户端上,而不是服务器上。这很可能是问题所在。此外,您有两个名为winner
的模板,但如果您有重复的模板名称,Meteor应该在命令行上抛出错误。
最后,这不是你问的问题,但它也可以用来调试。您可以使用Handlebars {{else}}
:
{{#each winners}}
{{> winner}}
{{else}}
no winners!
{{/each}}