私の質問は、AngularJS アプリケーションでテンプレートの複雑なネスト (パーシャルとも呼ばれます) を処理する方法に関するものです。
私の状況を説明する最良の方法は、私が作成した画像を使用することです。
ご覧のとおり、これは多数のネストされたモデルを持つかなり複雑なアプリケーションになる可能性があります。
このアプリケーションは単一ページであるため、DOM に属性を持つ div 要素を含むindex.htmlをロードします。ng-view
円 1 については、適切なテンプレートを にロードするプライマリ ナビゲーションがあることがわかりますng-view
。$routeParams
これを行うには、メイン アプリ モジュールに渡します。これが私のアプリの例です:
angular.module('myApp', []).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when("/job/:jobId/zones/:zoneId", { controller: JobDetailController, templateUrl: 'assets/job_list_app/templates/zone_edit.html' }).
when("/job/:jobId/initial_inspection", { controller: JobDetailController, templateUrl: 'assets/job_list_app/templates/initial_inspection.html' }).
when("/job/:jobId/zones/:zoneId/rooms/:roomId", { controller: JobDetailController, templateUrl: 'assets/job_list_app/templates/room_edit.html' })
}]);
円 2では、にロードされるテンプレートにng-view
追加のサブナビゲーションがあります。次に、このサブナビゲーションはその下の領域にテンプレートをロードする必要がありますが、ng-view は既に使用されているため、これを行う方法がわかりません。
最初のテンプレートに追加のテンプレートを含めることができることはわかっていますが、これらのテンプレートはすべてかなり複雑になります。アプリケーションの更新を容易にし、子にアクセスするためにロードする必要がある親テンプレートに依存しないようにするために、すべてのテンプレートを個別に保持したいと考えています。
円 3では、物事がさらに複雑になっていることがわかります。サブナビゲーション テンプレートには、独自のテンプレートを円 4の領域にロードする必要がある2 番目のサブナビゲーションがある可能性があります。
AngularJS アプリを構造化して、このような複雑なテンプレートのネストに対処しながら、テンプレートをすべて互いに分離するにはどうすればよいでしょうか?