我正在尝试将反应变量的值写入流星模板:
Template.form.rendered = function() {
this.color = new ReactiveVar();
this.color.set('#333555');
};
然后我定义了一个“currentColor”帮助器,用于在模板中打印颜色:{{currentColor}}
Template.form.helpers({
currentColor: fuction() {
return Template.instance().color.get();
}
});
但它不起作用; 所以我试图添加几个console.log:
Template.form.helpers({
currentColor: fuction() {
console.log(Template.instance());
console.log(Template.instance().color);
}
});
奇怪的是,第一个控制台日志显示了一个带有color属性的Blaze.TemplateInstance:
Blaze.TemplateInstance {...}
color: ReactiveVar
curValue: "#333555"
dep: Tracker.Dependency
equalsFunc: undefined
...
但第二个日志是“未定义”; 有人可以帮助我理解这个吗?
答案 0 :(得分:6)
您应该将ReactiveVar
定义放在template.created()
函数中,而不是template.rendered()
函数中。