在自定义事件函数

时间:2015-11-14 20:30:55

标签: javascript meteor

我尝试在on()内的自定义事件上设置ReactiveDict变量,但我收到此错误:Uncaught TypeError: Cannot read property 'templateDictionary' of null

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

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);
    }
});

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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

使用ES6,Luke!