Сложное вложение партиалов и шаблонов

Мой вопрос заключается в том, как справиться со сложным вложениемшаблоны (также называемыйобертоны) в приложении 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, чтобы справиться с таким сложным вложением шаблонов, сохраняя их все отдельно друг от друга?

Ответы на вопрос(6)

Ваш ответ на вопрос