CreateJS EventDispatcher and inheritance



我正在尝试创建一个具有createjs EventDispatcher功能的基类,然后从这个基类创建子类,但是如果我随后尝试在子类实例上使用addEventListener,我会收到错误:

TypeError: _subClass.addEventListener is not a function

我的类的构造函数如下所示:

var BaseClass = function(id)
{
    _instance = this;
    _id = id;
    createjs.EventDispatcher.initialize(BaseClass.prototype);
};
var SubClass = function(id)
{
    BaseClass.call(this, id);
    SubClass.prototype = Object.create(BaseClass.prototype);
    _instance = this;
};

如何使其工作,以便子类从基类继承应用的 CreateJS 事件调度程序功能?到目前为止,它仅在我还在子类构造函数中应用事件调度器时才有效,但这在某种程度上违背了继承的全部目的:

createjs.EventDispatcher.initialize(SubClass.prototype);

您应该在初始化期间初始化原型,而不是在构造函数中。这是一个更新的小提琴:http://jsfiddle.net/lannymcnie/qTHb4/

var BaseClass = function(id)
{
    _instance = this;
    _id = id;
};
createjs.EventDispatcher.initialize(BaseClass.prototype);
var SubClass = function(id)
{
    BaseClass.call(this, id);
    _instance = this;
};
SubClass.prototype = BaseClass.prototype;

相关内容

  • 没有找到相关文章

最新更新