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

Set ReactiveDict() variable inside of custom event function

本文关键字:ReactiveDict 变量 设置 内部 自定义 事件 函数      更新时间:2023-09-26

我试图在on()内部的自定义事件上设置一个ReactiveDict变量,但我得到了这个错误:Uncaught TypeError: Cannot read property 'templateDictionary' of null

第二个问题是,在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函数中。不在另一个函数中。范围问题。

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

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

使用ES6,卢克!