2016-07-06 5 views
0

dojo aspect에 문제가 있고 상속에 어떻게 반응합니까?Dojo aspect 상속

나는 child1이라는 클래스와 child2라는 다른 클래스를 가지고있다. 두 클래스 모두 상위를 상속합니다.

자식 1 :

return declare("child1", [parent], ... 

자식 2는 :

return declare("child2", [parent], ... 

자식 1과 자식 2의 구현은 매우 다릅니다. 자식 1가 호출 될 때까지

this.own(aspect.before(this, "_onChange", lang.hitch(this, "_onRowSelected"), true)); 

모든 것은 자식 2와 함께 잘 작동 : 부모에 측면에 요구를 자식 1 방법이있다. 그 시점에서 부모로부터 _onChange 메서드가 호출 될 때마다 child1._onRowSelected 함수가 호출이 시작된 곳과 관계없이 실행됩니다.

나는이 aspect가 child1에서 애스펙트 애스펙트를 생성 한 객체만을 포함한다고 생각할 것이고 child2에 영향을 미치지 않을 것이다.

내가 생각할 수있는 유일한 점은 child1과 child2의 인스턴스화가 HTML 템플릿 내에서 완료된 것처럼 보입니다.

답변

1

상속을 사용하는 경우 왜 aspect을 사용합니까? 그런 경우에는 필요하지 않습니다.

Child1에서, 단순히 같은 방법 _onChange을 만듭니다

_onChange: function() { 
    this._onRowSelected(); 
    this.inherited(arguments); 
} 

그것은 aspect

의 필요없이 동일한 달성