【发布时间】:2013-12-07 13:22:08
【问题描述】:
fruit 是模板助手Template.fruits.name 和Template.fruits.nick 之间共享的变量,以防止在每个单独的助手函数中重复代码。
但是,当change #fruit-selector 事件处理程序被触发时,共享变量fruit 不会改变,即使它由Session.get('fruit') 设置。
这是否意味着我不能使用这种声明 fruit 变量的方法,如果我希望它是反应式的?
main.js
(function() {
// Set default fruit
if(!Session.get('fruit')) {
Session.set('fruit', 'apple');
}
var fruit = Session.get('fruit');
Template.fruits.name = function() {
return fruit;
};
Template.fruits.nickname = function() {
return fruit + 'y';
};
Template.fruits.name2 = function() {
return Session.get('fruit');
};
Template.fruits.events({
'change #fruit-selector': function(e) {
Session.set('fruit', e.target.value);
console.log('fruit: ' + fruit)
}
});
}());
【问题讨论】:
标签: javascript node.js meteor handlebars.js