Dojo 方面继承
Posted
技术标签:
【中文标题】Dojo 方面继承【英文标题】:Dojo aspect inheritance 【发布时间】:2016-07-06 13:47:37 【问题描述】:我在 dojo 方面以及它在继承方面的行为方面遇到了问题。
我有一个名为 child1 的类和另一个名为 child2 的类。 两个类都继承自父类。
孩子1:
return declare("child1", [parent], ...
孩子2:
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。
我唯一能想到的是,child1 和 child2 的实例化看起来像是在 html 模板中完成的。
【问题讨论】:
【参考方案1】:如果使用继承,为什么要使用aspect
?
在这种情况下没有必要。
在Child1
中,只需像这样创建一个方法_onChange
:
_onChange: function()
this._onRowSelected();
this.inherited(arguments);
不需要aspect
也能达到同样的效果
【讨论】:
以上是关于Dojo 方面继承的主要内容,如果未能解决你的问题,请参考以下文章