在流星js中无法从助手获得反应变量

时间:2015-02-19 00:04:59

标签: meteor meteor-blaze

我正在尝试将反应变量的值写入流星模板:

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
    ...

但第二个日志是“未定义”; 有人可以帮助我理解这个吗?

1 个答案:

答案 0 :(得分:6)

您应该将ReactiveVar定义放在template.created()函数中,而不是template.rendered()函数中。