Моє запитання стосується того, як займатися складним вкладом шаблонів (їх також називають частками ) у програмі 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' })
}]);
У другому колі шаблон, завантажений у програму, ng-view
має додаткову навігацію . Тоді цей підроздріб повинен завантажувати шаблони в область під ним, але оскільки ng-view вже використовується, я не знаю, як це зробити.
Я знаю, що я можу включити додаткові шаблони до 1-го шаблону, але всі ці шаблони будуть досить складними. Я хотів би зберегти всі шаблони окремо, щоб полегшити оновлення програми та не мати залежності від батьківського шаблону, який потрібно завантажувати, щоб отримати доступ до своїх дітей.
У колі 3 ви бачите, що речі стають ще складнішими. Існує ймовірність того, що шаблони під навігації матимуть другу підвигун, яку потрібно буде завантажувати власними шаблонами також у область у колі 4
Як можна структурувати додаток AngularJS для вирішення таких складних вкладень шаблонів, зберігаючи їх окремо один від одного?