ユーザーがウィジェットを配置 (ドラッグ/ドロップ) できる (100 以上のウィジェットの定義済みセットから選択する) 複雑なレイアウトのアプリケーションがあります。ここで、すべてのウィジェットは一連のデータ (REST 呼び出しを使用して取得) を表示するカスタム実装です。特定の方法で。大量のブログ投稿、stackoverflow の質問、および公式の AngularJS ドキュメントを読みましたが、その要件を処理するためにアプリケーションをどのように設計すればよいかわかりません。デモアプリを見ると、単一のモジュール (ng-app) があり、.js ファイルでそれを構築するときに、依存モジュールがその依存関係として宣言されますが、ウィジェットの大きなセットがあり、それらすべてを説明することはお勧めできません。そこの。次の質問に対する提案が必要です。
- アプリとウィジェットをどのように設計する必要がありますか?個別の AngularJS モジュールを用意する必要がありますか?それとも、各ウィジェットをメイン モジュールへのディレクティブにする必要がありますか?
- ウィジェットをディレクティブとして設計する場合、ディレクティブ内で依存関係を定義する方法はありますか? つまり、私のディレクティブがその実装で ng-calender を使用していると言うことですか?
- 各ウィジェットを個別のモジュールとして設計する場合、ウィジェット モジュールを依存関係としてメイン モジュールに動的に追加する方法はありますか?
- コントローラーをどのように設計すればよいですか - おそらくウィジェットごとに1つのコントローラーですか?
- ビューに同じタイプのウィジェットが複数ある場合、状態 (スコープ) をどのように分離すればよいですか?
- AngularJS で再利用可能なウィジェットを設計するためのベストプラクティスはありますか?
編集
参考資料:
- ocLazyLoad - AngularJS の優れた遅延読み込みライブラリ
- シード プロジェクト - モジュール + ルート変更時の遅延ロード (ES6、systemjs、ocLazyLoad)
- AngularJS での遅延読み込み
- AngularJS と RequireJS を使用してコントローラとビューを動的にロードする
- アプリケーションのブートストラップ後に RequireJS を使用して AngularJS コンポーネントをロードする
- GitHub での AngularJS リソースの遅延読み込みに関するデモ プロジェクト
- ロード オン デマンド プロジェクト
- 必要な場合にのみモジュールを動的に注入する
- Angular 記事での別の遅延読み込み
- 大規模な AngularJS および JavaScript アプリケーションのコード編成