如果函数“neww”为true,我试图保持平衡,如果为false则向下。 neww是0-1的随机数:
Template.result.helpers({
'neww': function(){
return( Session.get('number') > 0.5 ? true : false )
}
});
所以这应该根据随机生成的数字声明新的真或假吗?好吧,我有一个像这样的if else声明:
Template.balance.events({
'click button': function() {
if (neww = true) {
Session.set('bal', Session.get('bal') + 1);
} else {
Session.set('bal', Session.get('bal') - 1);
}
}
});
如果数字大于0.5,它应该提高我的余额1,否则它会降低。
我的整个代码是:
if (Meteor.isClient) {
// counter starts at 0
Session.setDefault('number', Random.fraction());
Session.setDefault('word', "");
Session.setDefault('bal', 5000);
Template.hello.helpers({
number: function () {
return Session.get('number');
}
});
Template.balance.helpers({
bal: function () {
return Session.get('bal');
}
});
Template.hello.helpers({
word: function () {
return Session.get('word');
}
});
Template.hello.events({
'click button': function () {
// increment the counter when button is clicked
Session.set("number", 0+Random.fraction());
}
});
Template.result.helpers({
'neww': function(){
return( Session.get('number') > 0.5 ? true : false )
}
});
Template.balance.events({
'click button': function() {
if (neww = true) {
Session.set('bal', Session.get('bal') + 1);
} else {
Session.set('bal', Session.get('bal') - 1);
}
}
});
}
if (Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup
});
}
任何帮助或提示都将不胜感激。
答案 0 :(得分:0)
neww
仅在您的模板中可用。如果你想在你的JS中使用它,只需使它成为一个普通的JS函数并正常调用它。如果您也想在模板中使用它,也可以将该函数分配给帮助程序。
目前,{I}将在您尝试使用它的上下文中未定义,因此当您单击按钮时,您应该会在控制台中看到错误。该函数会在它实际执行任何操作之前抛出,这就是为什么没有任何事情发生在平衡点上。
答案 1 :(得分:0)
这不是if
的正确语法if(neww = true)
neww
不是变量,它是一个助手,因此你不能在if那样做。为了让neww
模板上的balance
可用,您需要将其保存为全局变量,例如Session
我知道您不熟悉编码,因此,首先要了解基本编程。立即使用像meteor
这样的框架会让你感到无聊
答案 2 :(得分:0)
以下是如何修复代码以使其按照您的意愿执行操作的方法:
Template.balance.events({
'click button': function() {
if ( Session.get('number') > 0.5 ) {
Session.set('bal', Session.get('bal') + 1);
} else {
Session.set('bal', Session.get('bal') - 1);
}
}
});
你可以完全摆脱你的neww
助手。要了解有关模板助手,事件和会话如何工作的更多信息,请查看Meteor Guide。