MeteorJS-click.increment函数不起作用(您的第一个Meteor应用程序)
MeteorJS - click.increment function not working (Your First Meteor Application)
我正在阅读你的第一个Meteor应用程序这本书,我被困在第8.3节:高级操作员,第2部分
基本上,click.increment
和click.decrement
函数应该执行以下操作:
- 单击时,玩家的名称(li元素)背景将转换为黄色
- 当点击"给予5分"或"带走5分"时,用户的分数将增加/减少5
然而,现在的情况是:
- 当我点击一个播放器(li元素)时,它会突出显示为黄色
- 当我点击递增或递减按钮时,li元素被取消选择,背景不再是黄色,点数也没有变化
如有任何帮助,我们将不胜感激。这一定是一件很简单的事情,我忽略了,但我想不通。
这是相关代码:
排行榜.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>
排行榜.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} });
}
});
}
排行榜.css:
.selected {
background-color: yellow;
}
您的事件声明中需要一个空格:
'click .player': function() {
您的代码正在工作:http://meteorpad.com/pad/WofZFR5vjrDck4YRK
相关文章:
- 而循环只设置php中输入字段中的第一个值
- 错误:$injector:modulerr模块错误(我的第一个SPA应用程序)
- IE11中的第二个调用取消了第一个Fetch API调用
- Javascript XMLHttpRequest——只有第一个POST请求有效
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 将OnClick函数设置为<ul>,最后一个ul是擦除第一个ul-s
- RxJS油门行为;立即获取第一个值
- Angular UI网格:如何通过第一个UI网格中的按钮使第二个UI网格可见
- 选择多个实例中的第一个
- 如何在调用下一个请求之前完成第一个Ajax Get请求
- Lodash:返回对象的第一个键,该对象的值(即数组)中有一个给定的元素(即字符串)
- 看起来第一个console.log是'It’不太对
- 与杜兰达尔合作的第一个JavaScript项目.尝试从第三方 API 获取数据
- 节点发布错误对象的第一个“属性”
- Javascript:表单验证getElementById仅返回第一个id元素
- 仅将 CSS 规则应用于
中的第一个 ,而不分配类/ID - JS在隐藏未定义的值后仅从数组中返回第一个id的值
- 高图表,检测点是否在堆栈中的第一个
- json结果显示第一个值
- MeteorJS-click.increment函数不起作用(您的第一个Meteor应用程序)