Возможный дубликат:
Установить активный стиль табуляции с помощью AngularJS
Я использую AngularJS и пытаюсь добавить "текущий" класс в мое меню всякий раз, когда отображается содержимое этой вкладки. Это то, что у меня есть до сих пор, и отлично работает при загрузке страницы:
HTML:
<ul id="nav">
<li><a href="#/one" class="highlighttab">One</a></li>
<li><a href="#/two" class="highlighttab">Two</a></li>
</ul>
JS:
myModule.directive('highlighttab', function($location) {
var currentPath = "#" + $location.path();
return {
restrict: 'C',
link: function(scope, element, attrs) {
var href = element.attr("href");
if (currentPath == href)
{
element.addClass("current");
}
}
};
});
Это добавит "текущий" класс к правильному тегу <a>
, когда URL-адрес страницы #/one
или /#two
Проблема в том, что если я нажму вторую вкладку, класс не добавится к ней. Я предполагаю, что мне нужно каким-то образом заставить код внутри директивы повторно запускаться при изменении URL-адреса. Есть ли способ сделать это?