Dojo方面继承

时间:2016-07-06 13:47:38

标签: inheritance dojo

我遇到了dojo方面的问题以及它与继承的行为方式。

我有一个名为child1的类和另一个名为child2的类。 这两个类都继承自父。

Child1:

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

CHILD2:

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

Child1和Child2的实现非常不同。 Parent有一个child1需要方面的方法:

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

在调用child1之前,child2的一切正常。 此时,只要从Parent调用_onChange方法,就会运行函数child1._onRowSelected ....无论调用源自何处。

我认为该方面只涉及在child1中创建方面调用的对象,并且不会影响child2。

我唯一可以想到的是,它看起来像是在HTML模板中完成了child1和child2的实例化。

1 个答案:

答案 0 :(得分:1)

如果使用继承,为什么要使用aspect? 在这种情况下没有必要。

Child1中,只需创建一个方法_onChange,如下所示:

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

无需aspect

即可实现相同目标