これから着手しようとしているプロジェクトで道場の使い方を学んでいるので、これはおそらく非常に基本的な質問であることを前もって告白します。私は答えを見つけようとしましたが、成功しませんでした。また、私は少し古いバージョンの dojo を使用する必要があります - 1.6 AMD なしではそう思います。
dojo.declare を使用してクラスを宣言しました。少し変更した例を次に示します。
dojo.declare("myNamespace.CustomClass", null, {
firstProperty: "The default value",
constructor: function () { }
Test: function () {
alert(this.firstProperty);
}
});
したがって、基本的には、「デフォルト値」のデフォルト値を持つ firstProperty というパブリック プロパティを持つ CustomClass というクラス、現在何も実行しないコンストラクタ、呼び出されたときに次の値でアラートを出す Test というパブリック メソッドがあります。最初のプロパティ。
CustomClass のインスタンスを作成して Test() を呼び出すと、「デフォルト値」のアラート ボックスが表示されると想定していました。ただし、そうではありません。代わりに「未定義」の警告ボックスが表示されます。インスタンスが作成された後に firstProperty の値を設定してから Test を呼び出すと、機能し、プロパティに設定されていたものを取得できます。したがって、回避策はコンストラクターでデフォルト値を設定することですが、私が読んだことは、それが想定どおりに機能することを示唆しているため、むしろ正しく実行したいと思います。
また、コンストラクターで dojo.safeMixin(this, null) を呼び出してみましたが、これが必要かどうか疑問に思ったことがありましたが、違いはありませんでした。
とにかくこれを読んでくれてありがとう!サイモン