9
Ext.define('...', { 
    uses: ['...'],
});

Ext.define('...', {
    requires: ['...'],
});

私は少し混乱しています...彼らには共通点がありますか?いつどちらを使用するのですか?

4

2 に答える 2

14

それはドキュメントでかなりカバーされています:

Uses は、クラスによって使用されるが必須ではない、オプションのクラス依存関係です。これらは非同期にロードでき、クラスをインスタンス化するために使用可能である必要はありません。

たとえば、クラスがコンストラクターで Foo をインスタンス化するものである場合、それは にある必要がありrequiresます。

開発者によって後で呼び出される可能性のあるメソッドで Foo をインスタンス化すると、uses.

于 2013-04-17T03:15:05.667 に答える
7

クラスを作成するには「必要」が必要であり、そのクラスのオブジェクトを作成するには「使用」が必要です。

イベント シーケンスは次のとおりです。

  • Ext.define が呼び出されます
  • 「requires」と「uses」はキューに入れられ、非同期にロードされます
  • クラスは、すべての「requires」がロードされたときに作成されます
  • Ext.onReady リスナーは、すべてのクラスの「requires」と「uses」がロードされたときに呼び出されます
于 2013-11-15T02:17:13.890 に答える