1

アプリケーションが app.js に持つすべてのストア/モデル/ビューを宣言する義務があるかどうかを知りたいですか? 次の状況をテストしたため、私は言っています: app.js でコントローラーのみを宣言し、対応する controller.js で必要なストア/モデル/ビューを設定しようとしましたが、機能しません [未定義のストア...] ! 私の場合、次のようなモジュールでアプリケーションを構成しています:

app.js
Sales
-- salesController.js
-- salesStore.js
-- salesModel.js
-- salesView_1.js
Account
-- accountController.js
-- accountStore.js
-- accountModel.js
-- accountView_1.js
-- accountView_2.js

and so on...

これに関する情報はありますか?

4

1 に答える 1

1

質問の所有者が言ったことによると、彼はMVC構造でアプリケーションを定義する方法をすでに知っています。重要なのは、なぜExt.requireコントローラーだけでは機能しないのかということです。

の明示的な定義についていくつかの説明がありcontrollers,stores,models,viewsますapp.js

  • プロファイル-各プロファイルをインスタンス化し、アクティブにする必要があるかどうかを判断します。その場合、プロファイル自体の依存関係も読み込まれます
  • コントローラ-ロード後に各コントローラをインスタンス化します
  • Stores-各ストアをインスタンス化し、指定されていない場合はデフォルトのストアIDを指定します

これは、アプリケーションがロードされる直前に、これらの必要なものがすべて開始されることを意味します。ただし、非同期Ext.require方式で設計されているため、そうではありません。たとえば、コントローラー(モデル、ビュー、ストアなど、他のすべてのものが必要)で、開始されたインスタンスではなく、クラスによって定義されたストアを使用するビューにジャンプすると、未定義のままになります。

簡単に言うと、必要なものをすべて宣言する正式な方法により、必要なapp.jsときに(コントローラー/ストア/モデル/ビューの)インスタンスを確実に作成できます。ただしExt.require、インスタンスの初期化ではなく、クラスコードをサポートしてください。

于 2012-05-15T11:15:38.767 に答える