Как обновить директиву AngularJS при изменении URL? [Дубликат]
Possible Duplicate:
Set active tab style with 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. Есть ли способ сделать это?