Приложение использует angularjs.У меня есть панель навигации, которая открывает страницы, а также другой пользовательский интерфейс, который также открывает те же страницы (те же ссылки).
Я использую $locationChangeStart
, чтобы при открытии страницы открывать подменю на панели навигации.из другого интерфейса.
Когда я открываю ту же страницу из панели навигации, происходит переключение, и подменю панели навигации закрывается.
$rootScope.$on("$locationChangeStart", function(event, next, current) {
$rootScope.hashUrl = next.split('#').pop();
$rootScope.hashUrl = '#' + $rootScope.hashUrl;
console.log($rootScope.hashUrl, "URL"); //#!/addflats
$rootScope.addActiveToSidebarElement(event, next, current);
});
Функция, которую вызывает locationChangeStart
:
$rootScope.addActiveToSidebarElement = function(event, next, current) {
$rootScope.anchorElement = $("a[href='" + $rootScope.hashUrl + "']");
if (parentLi.hasClass('associationChildLi')) {
$rootScope.anchorElement.addClass('selectedSideBarChildActive');
$('.associationUl').slideToggle();
}
}
Обе ссылки (из панели навигации и другого пользовательского интерфейса) вызывают изменение маршрута.Как узнать, какая ссылка вызвала изменение маршрута?
Изменить :
Я постараюсь объяснить лучше.У меня есть две ссылки, которые открывают одну и ту же страницу.Одна ссылка с панели навигации, одна с плитки.
Когда я открываю страницу, я хочу выделить соответствующий элемент навигации.Это работает естественно, когда я использую панель навигации.Когда я открываю страницу из плитки, я должен выделить элемент навигации.
Поэтому я использую $locationChangeStart
, чтобы определить, какой маршрут я сейчас использую, и найти на панели навигации элемент <li><a href='#!/addflats'>link</a></li>
, который соответствует текущему маршруту, и добавить класс, который выделяет его.
Мне нужно найти, какая ссылка (панель навигации или мозаика) вызвала изменение маршрута