2016-07-06 10 views
0

私はdojoのアスペクトに問題があり、継承でどのように動作するのですか。Dojoのアスペクト継承

私はchild1というクラスとchild2という別のクラスを持っています。 両方のクラスは親から継承します。

CHILD1:

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

CHILD2:

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

CHILD1とCHILD2の実装は非常に異なっています。 child1のが呼び出されるまで、すべてはchild2ので正常に動作

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

: 親がに縦横にニーズをCHILD1方法があります。 その時点で、_onChangeメソッドがParentから呼び出されるたびに、呼び出しの発信元に関係なく、child1._onRowSelectedという関数が実行されます。

私はアスペクトがchild1のアスペクトコールを作成したオブジェクトのみを含み、child2には何も影響しないと考えるでしょう。

唯一のことは、child1とchild2のインスタンス化がHTMLテンプレート内で行われているように見えることです。

答えて

1

継承を使用する場合、なぜaspectを使用しますか? このような場合は必要ありません。

Child1では、単純に次のようにメソッド_onChangeを作成:

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

それはaspect

の必要なしに、同じことを達成します