2011-07-19 11 views
3

と基本コンストラクタが道場のパラメータなしのコンストラクタは、パラメータ

dojo.provide("ClassA"); 
dojo.declare("ClassA", null, 
{ 
    constructor: function(text) 
    { 
    console.log(text); 
    } 
}); 

dojo.provide("ClassB"); 
dojo.declare("ClassB", ClassA, 
{ 
    constructor: function() 
    { 
     // want to call the base constructor of Class A with "Hello " 
     console.log("world!"); 
    } 
}); 

私が使用することができます(継承したクラスのコンストラクタの外に)明示的に セットのコンストラクタ引数でベースのコンストラクタを呼び出すためにはJavaScript/Dojoツールキットで、それは可能です呼び出しますthis.inherited(arguments、["Hello"])しかし、これは基本コンストラクタの2つの呼び出しを生成します(与えられた引数を持たないものと与えられた引数を持つもの)。 (出力は未定義\ n "Hello" \ n "world!"となります)。

私はすでに、次の方法を使用してみました:

dojo.mixin(this, "Hello"); 
dojo.safeMixin(this, "Hello"); 
dojo.mixin(ClassA, "Hello"); 
... 

が、私が行ったすべてのものは二度ベースのコンストラクタを呼び出しているようです。助言がありますか?

答えて

4

自動コンストラクタチャージをオフにする必要があります。手動で自動動作を無効にする方法の例については、hereを参照してください。

関連する問題