Сложное вложение партиалов и шаблонов
Мой вопрос заключается в том, как справиться со сложным вложениемшаблоны (также называемыйобертоны) в приложении AngularJS.
Лучший способ описать мою ситуацию с помощью изображения, которое я создал:
Как видите, это может быть довольно сложное приложение с множеством вложенных моделей.
Приложение одностраничное, поэтому оно загружаетindex.html который содержит элемент DIV в DOM с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 уже используется, яЯ не уверен, как это сделать.
Я знаю, что могу включить дополнительные шаблоны в 1-й шаблон, но все эти шаблоны будут довольно сложными. Я хотел бы хранить все шаблоны отдельно, чтобы облегчить обновление приложения и не зависеть от родительского шаблона, который необходимо загрузить для доступа к его дочерним элементам.
В круге 3Вы можете видеть, что все становится еще сложнее. Существует вероятность того, что суб-навигационные шаблоны будут иметь2-я суб-навигация что нужно будет загрузить свои собственные шаблоны, а также в области вкруг 4
Как можно структурировать приложение AngularJS, чтобы справиться с таким сложным вложением шаблонов, сохраняя их все отдельно друг от друга?