У меня есть контроллер, который показывает меню навигации по страницам. В меню есть массив элементов, и каждый элемент имеет подпись и ссылку. Я также устанавливаю флаг для каждого элемента, который указывает, отображается ли в данный момент соответствующая страница:
module.controller('MenuContr', [
/******/ '$scope', '$location',
function ($scope, $location) {
$scope.items = [
{text: 'page 0',
href: '#/page-0',
current: $location.path() === '/page-0'},
{text: 'page 1',
href: '#/page-1',
current: $location.path() === '/page-1'}
];
в моем шаблоне:
<ul class="menu" ng-controller="MenuContr" ng-cloak>
<li ng-repeat="item in items" ng-switch on="item.current">
<span class="current" ng-switch-when="true">{{item.text}}</span>
<a ng-switch-default ng-href="{{item.href}}">{{item.text}}</a>
</li>
</ul>
Мне нужно обновить меню при изменении местоположения, как это сделать? Есть ли событие, на которое я могу подписаться?
EDIT: этот контроллер используется в дополнение к контроллерам, определенным на моих маршрутах, и вышеприведенный шаблон помещается над элементом, содержащим директиву ng-view
.