我已经尝试了所有我能想到的东西,无论如何我的平衡都不会改变。我的代码目前是:
if (Meteor.isClient) {
Session.setDefault('num', Random.fraction());
Session.setDefault('bal', 5000)
Template.hello.helpers({
num: function () {
return Session.get('num');
}
});
Template.Balance.helpers({
bal: function () {
return Session.get('bal');
}
});
Template.hello.events({
'click button': function () {
Session.set("num", Random.fraction());
}
});
Template.TrueFalse.helpers({
'trueFalse': function(){
return( Session.get('num') > 0.5 ? true : false )
}
});
Template.Balance.events({
'click button': function() {
if ( Session.get('num') > 0.5 ) {
Session.set('bal', Session.get('bal') + 1);
} else {
Session.set('bal', Session.get('bal') - 1);
}
}
});
}
if (Meteor.isServer) {
Meteor.startup(function () {
});
}
我尝试了以前的解决方案,但似乎都没有。
我认为它可能与生成随机数这一事实有关,并且由于两个函数都是'而检查它是否同时大于或小于.5。点击按钮',但我不知道如何解决这个问题。
有人可以只修改修复程序,我会弄清楚你做了什么吗?
感谢。
顺便说一下,如果它有帮助,这是HTML文件:
<head>
<title>RNG</title>
</head>
<body>
<h1>{{> Balance}}</h1>
{{> hello}}
<h1>{{> TrueFalse}}</h1>
</body>
<template name="hello">
<button>Click Me</button>
<p>You've pressed the button {{num}} times.</p>
</template>
<template name="TrueFalse">
{{#if trueFalse}}
You Win!
{{else}}
You Lose!
{{/if}}
</template>
<template name="Balance">
Balance: {{bal}}
</template>
答案 0 :(得分:0)
我还没有使用过真正使用过的Meteor,但它的外观如下:当您为模板定义事件时,事件选择器只匹配模板中的 。因此,平衡模板中绑定的click button
事件永远不会被触发,因为余额模板中没有按钮。
您可以更新Hello模板click button
事件中的余额:
Template.hello.events({
'click button': function () {
Session.set("num", Random.fraction());
if ( Session.get('num') > 0.5 ) {
Session.set('bal', Session.get('bal') + 1);
} else {
Session.set('bal', Session.get('bal') - 1);
}
}
});