1

私は dojo classy tutorialを読んでいて、名前付きクラスを作成する例があります:

// Create a new class named "mynamespace.MyClass"
declare("mynamespace.MyClass", null, {

    // Custom properties and methods here

});

質問:いつ名前付きクラスを使用し、いつ匿名クラスを使用する必要がありますか?

"mynamespace.MyClass という名前のクラスが、アプリケーション内でグローバルに利用できるようになりました"

質問:アプリケーション内でクラスのインスタンスを作成するにはどうすればよいですか?

「名前付きクラスは、Dojo パーサーで使用する場合にのみ作成する必要があります。他のすべてのクラスでは、className パラメーターを省略してください。」

質問:これはどういう意味ですか?

4

1 に答える 1

0

いつ名前付きクラスを使用し、いつ匿名クラスを使用する必要がありますか?

Dojo 1.8 より前では、最初の引数を使用してクラス名を指定する必要がありました。このクラス名は、名前空間でクラスを定義するためと、dojoType 属性の Dojo パーサー (宣言型マークアップ用) の両方で使用されていました。

アプリケーション内でクラスのインスタンスを作成するにはどうすればよいですか?

// First make sure to import/alias the declare module in your application module that will be declaring the new class:
//    define([dojo/_base/declare],function(declare){}){

// From 1.8+, you don't need the class name parameter.  
// Supplying the name provides no additional value.
declare(null, {
    // Custom properties and methods here
});

詳細が記載された dojo declare の公式リファレンス ガイド ページは、次の場所にあります

これは何を意味するのでしょうか?パーサーには関係ありません。以前は、html フラグメントを構文解析して data-dojo-type="" をこれらのクラス名に一致させるときに、クラス名引数が Dojo パーサーによって使用されていました。これで、AMD モジュール識別子を入力できます。ウィジェットのコンストラクター関数を返すモジュールの「dijit/Button」とパーサーは、クラス名を使用せずにウィジェットを自動的にロードしてインスタンス化できます。

于 2013-10-21T13:34:58.640 に答える