我下面有一个把手帮手,向我展示了所选择的玩家威胁。它有效。
Handlebars.registerHelper('sthreat', function() {
var sthreat = Meteor.users.findOne({_id: Session.get('selectedPlayer')}, {threat: 1});
return sthreat;
});
然而,下面的按钮(在客户端上)和方法(在服务器上)假设在继续之前检查玩家是否有5个或更多威胁,尽管它们不起作用。
'click input.increment': function(){
var selectedThreat = Meteor.users.findOne({_id: Session.get('selectedPlayer')}, {threat: 1});
Meteor.call('incclick',selectedThreat);
},
incclick: function (selectedThreat) {
if(selectedThreat <= 4) {
} else {
Meteor.users.update({_id: Session.get('selectedPlayer')}, {$inc: {'threat': -5}});
Meteor.users.update({_id: this.userId}, {$inc: {'threat': 5}});
}
},
我想如果我能在帮助器中显示值,我应该能够在方程式中使用它。这里有什么我想念的吗?
答案 0 :(得分:1)
Meteor.users.findOne
将返回一份文件。您传递{threat: 1}
作为选项,但它们将被忽略,因为它们都不是有效的。 sort
,field
和limit
等选项可以使用。
我认为您希望获得该文档的属性。 Meteor.users.findOne的结果将是这样的
{
_id : ..
threat: 3,
...
}
因此,您只需将属性传递给方法而不是整个文档:
Meteor.call('incclick',selectedThreat.threat);