문제

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

하위 클래스가 Applied CreateJS 이벤트 디스패처 기능을 BaseClass에서 상속하도록 어떻게 작동 할 수 있습니까?지금까지는 Sub 클래스 생성자에 이벤트 디스패처를 적용하지만 어떻게 든 상속의 종양을 무시하는 경우에만 작동합니다.

createjs.EventDispatcher.initialize(SubClass.prototype);
.

도움이 되었습니까?

해결책

생성자가 아닌 초기화 중에 프로토 타입을 초기화해야합니다.다음은 업데이트 된 Fiddle입니다. 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;
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top