Dojo dgrid:从自定义小部件传播更改时出现问题

Dojo dgrid:从自定义小部件传播更改时出现问题,dojo,dgrid,Dojo,Dgrid,我在自定义小部件上传播“更改”事件时遇到问题。这是我的小部件: define([ "dojo/_base/declare", "dijit/_Widget", "dijit/_TemplatedMixin", "dojo/on", "dojo/text!./TopEditor.html", ], function (declare, _Widget, _TemplateMixin, on, domClass, template) { return declare("myEditor",

我在自定义小部件上传播“更改”事件时遇到问题。这是我的小部件:

define([
"dojo/_base/declare",
"dijit/_Widget",
"dijit/_TemplatedMixin",
"dojo/on",
"dojo/text!./TopEditor.html",
], function (declare, _Widget, _TemplateMixin, on, domClass, template) {
    return declare("myEditor", [_Widget, _TemplateMixin], {
        templateString: template,
        value: false,
        _onClick: function (event) {
            this.set("value", !this.get('value'));
            this.emit("change");
        },
        _setValueAttr: function (value) {
            this.value = value;
           // ... do some dom stuff ...
        }
    });
});
问题是,在Editor.js()的第477行中,“this”被赋予了_updatePropertyFromEditor方法,而在我的上下文中,“this”是小部件的domNode,而不是小部件本身,然后传播“dgrid datachange”不起作用。我做错什么了吗?是否存在错误?

将中的“this”更改为“cmp”似乎可以解决问题。该问题已发布在github上: