可能重复:
使用 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 更改时重新运行。有什么办法吗?