我是一个新手,写了一个简单的代码来学习Meteor中全局和局部范围的基本概念。代码如下:
var sec=0;
var min=0;
console.log("Hello World")
if (Meteor.isClient) {
Template.Output.helpers({
'secs':function(){
return sec;
},
'mins':function(){
return min;
}
});
Template.Input.events({
'submit form': function(event){
event.preventDefault();
min = event.target.minutes.value;
sec = min * 60;
console.log(min);
console.log(sec);
}
});
}
if (Meteor.isServer) {
}
当我运行meteor时它将显示0分0秒,但是当我输入一些值并按下提交按钮时,即使我已将min和sec声明为全局变量,该值也不会改变。
答案 0 :(得分:1)
您的sec
和min
变量是普通的JS变量,您需要一个反应数据源,例如Session
,以便发生流星魔法。
Session.set("sec",0);
Session.set("min",0);
Template.Output.helpers({
'secs':function(){
return Session.get("sec");
},
'mins':function(){
return Session.get("min");
}
});
Template.Input.events({
'submit form': function(event){
event.preventDefault();
var min=event.target.minutes.value;
var sec=min*60;
Session.set("min",min);
Session.set("sec",sec);
console.log(min);
console.log(sec);
}
});