У меня есть индекс, который служит для статического меню заголовка, а ниже - ng-view, основанный на маршруте, выбирает правильный шаблон. Как это, например:Несколько шаблонов AngularJS на одной странице
<navbar>
...
</navbar>
<div ng-view>
</div>
Все хорошо до сих пор, когда конкретный маршрут попал, шаблон загружается в этом контейнере с соответствующим контроллером.
Теперь у меня есть другая страница, загружаемая внутри ng-view, и она запускается при попадании url "/ dashboard". Проблема в том, что на странице панели мониторинга есть меню боковой панели, которое также должно содержать некоторую логику маршрутизации (более или менее). Когда ссылка была нажата из меню боковой панели, мне нужно загрузить только левую сторону страницы (не весь контейнер ng-view).
Я определил два решения:
1) Создайте директиву, которая хранит это меню боковой панели, и ввести его во всех страницах, которые обрабатываются с помощью меню боковой панели ==> Маршрутизация по-прежнему обрабатывается ng- Посмотреть.
2) Используйте нг-включать и имеют определенную логику маршрутизации на странице приборной панели, как это:
<a ng-click="templateType = 1">Template 1</a>
<a ng-click="templateType = 2">Template 1</a>
<div ng-if="templateType === 1" ng-include="template1"
ng-controller="Template1Controller"></div>
<div ng-if="templateType === 2" ng-include="template2"
ng-controller="Template2Controller"></div>
Есть ли другой подход? Или что лучше всего подходит для обработки как боковой панели, которая обрабатывает некоторые маршруты, так и статического меню, которое обрабатывает другие маршруты, с упоминанием о том, что меню боковой панели доступно только на некоторых маршрутах.
Я предоставил рисунок для рисования в надежде, что я могу лучше объяснить свою проблему.
Почему бы вам не использовать угловую-UI-маршрутизатор? – nikhil
Вы также можете проверить [угловой маршрут-сегмент] (http://angular-route-segment.com/). –
@nikhil Я подумал, может быть, было встроенное решение, не добавляя еще одну внешнюю зависимость. –