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 方面继承的主要内容,如果未能解决你的问题,请参考以下文章

接口的用途和继承方面的区别是啥

避免dojo中的内存泄漏?

面向对象的特征有哪些方面?

java的继承接口方面的语法及知识

es6中class类的全方面理解------继承

[Java] 类和接口的初始化步骤 - 继承方面