我的流星排行榜示例有什么问题?

时间:2014-08-01 10:34:05

标签: meteor

我刚刚安装了Meteor,我正在查看排行榜示例。

我试图设置随机分数,无法查看我的代码有什么问题。任何人都能看出这个有什么问题吗?我希望当点击该按钮时,所选的玩家得分会填充随机数字。

模板代码:

<template name="leaderboard">
<div class="leaderboard">
{{#each players}}
  {{> player}}
{{/each}}
</div>

{{#if selected_name}}
<div class="details">
<div class="name">{{selected_name}}</div>
 <input type="button" class="inc" value="Give 5 points" />
 <input type="button" class="incrandom" value="Set random points" />
</div>
{{else}}
<div class="none">Click a player to select</div>
{{/if}}
</template>

JS代码:

  Template.leaderboard.events({
    'click input.incrandom': function () {
    Players.update(session.get("selected_player"), {$incrandom: {score: Math.floor(Random.fraction()*10)*5 }});
    }
  });

1 个答案:

答案 0 :(得分:1)

MongoDB中没有$incrandom运算符,只有$inc

此外,此代码段中的Random是什么?您可能打算使用Math.random()

另外(谢谢@apendua,我没有注意到这一点),session应为Session

所以更新的代码是:

Template.leaderboard.events({
    'click input.incrandom': function () {
    Players.update(Session.get("selected_player"), {$inc: {score: Math.floor(Math.random()*10)*5 }});
    }
  });

但是,请注意,这不会将玩家的得分设置为随机值,但会增加玩家的得分随机值

要设置玩家的分数,请改用$set运算符。