Javascript 在自定义事件函数内设置ReactiveDict()变量

Javascript 在自定义事件函数内设置ReactiveDict()变量,javascript,meteor,Javascript,Meteor,我试图在()上的内的自定义事件上设置一个ReactiveDict变量,但出现以下错误:未捕获类型错误:无法读取null的属性“templateDictionary” 第二个问题是,在onRendered中定义ReactiveDict()是否有意义 Template.something.onCreated(function() { this.templateDictionary = new ReactiveDict(); }); Template.something.onRendered

我试图在()上的
内的自定义事件上设置一个ReactiveDict变量,但出现以下错误:
未捕获类型错误:无法读取null的属性“templateDictionary”

第二个问题是,在
onRendered
中定义
ReactiveDict()
是否有意义

Template.something.onCreated(function() {
    this.templateDictionary = new ReactiveDict();
});

Template.something.onRendered(function() {
    anything.on({
        'element:mouseover': function(elementView, event){
            Template.instance().templateDictionary.set( 'showExtraFields', true );
        }
    });
});

Template.something.helpers({
    anything: function() {
        var result = Template.instance().templateDictionary.get( 'showExtraFields' );
        console.log(result);
    }
});

将实例引用放入onRendered函数中。不在另一个函数中。范围问题

我不知道什么是
。on
是什么,但试试这个:

Template.something.onRendered(function() {
    anything.on({
        'element:mouseover': (elementView, event) => {
            this.templateDictionary.set( 'showExtraFields', true );
        }
    });
});

使用ES6,卢克

不要将
Template.instance()
调用到
onRendered
函数中。改用
。如果您的错误来自帮助程序,请检查
templateDictionary
是否不在
Template.instance().data
中,而不只是
Template.instance()
。只需记录它并查看对象树。