我正在阅读你的第一个流星应用程序这本书,我坚持第8.3节:高级操作员,第2部分
基本上,click.increment
和click.decrement
函数应该执行以下操作:
但是,这就是发生的事情:
任何帮助将不胜感激。这一定是一件非常简单的事情,我忽略了但我无法理解。
以下是相关代码:
leaderboard.html:
<head>
<title>Leaderboard</title>
</head>
<body>
<h1>The Leaderboard</h1>
{{> leaderboard }}
</body>
<template name="leaderboard">
<ul>
{{#each player}}
<li class="player {{selectedClass}}">{{name}}: {{score}}</li>
{{/each}}
</ul>
<input type="button" class="increment" value="Give 5 Points">
<input type="button" class="decrement" value="Take 5 Points">
</template>
leaderboard.js:
PlayersList = new Mongo.Collection('players');
console.log("Hello World from Meteor!");
if(Meteor.isClient){
Template.leaderboard.helpers({
'player': function(){
return PlayersList.find();
},
'selectedClass': function() {
var playerId = this._id;
var selectedPlayer = Session.get('selectedPlayer');
if (playerId == selectedPlayer) {
return "selected";
}
}
});
Template.leaderboard.events({
'click.player': function() {
var playerId = this._id;
Session.set('selectedPlayer', playerId);
},
'click.increment': function() {
var selectedPlayer = Session.get('selectedPlayer');
PlayersList.update(selectedPlayer, {$inc: {score: 5} });
},
'click.decrement': function() {
var selectedPlayer = Session.get('selectedPlayer');
PlayersList.update(selectedPlayer, {$inc: {score: -5} });
}
});
}
leaderboard.css:
.selected {
background-color: yellow;
}
答案 0 :(得分:2)