我在Meteor中尝试Leaderboard的例子,但我在设置click事件时做错了.在这个例子中,我有三个按钮,一个用于按列更改排序,另一个用于向每个人添加5个奖励积分.
这是html:
<div id="outer">
{{> sorter}}
{{> leaderboard}}
</div>
<template name="sorter">
<span>Sorted by {{sortedBy}}</span>
{{#if sortByName}}
<input type="button" id="sortScore" value="sort by score" />
{{else}}
<input type="button" id="sortName" value="sort by name" />
{{/if}}
<input type="button" class="incAll" value="5 bonus points to all" />
</template>
Run Code Online (Sandbox Code Playgroud)
这是js:
Template.sorter.events = {
'click #sortName': function(){
Session.set('orderby', 'name');
},
'click #sortScore': function(){
Session.set('orderby', 'score');
},
'click input.incAll': function(){
Players.find().forEach(function(player){
Players.update(player._id, {$inc: {score: 5}});
});
}
Run Code Online (Sandbox Code Playgroud)
}
调用Session.set('orderby','name'); 在控制台中工作并相应地更新html,但没有点击按钮.那我错过了什么?
谢谢
deb*_*lis 15
带选择器的事件映射与模板中的顶级元素不匹配.这是我们将尽快解决的问题.
虽然有一个简单的解决方法.将您的分拣机模板包裹在一个<div>
.
http://docs.meteor.com/#eventmaps
归档时间: |
|
查看次数: |
25841 次 |
最近记录: |