重複の可能性:
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");
            }
        }
    };
});
これにより、ページのURLがまたはである場合に、「current」クラスが正しい<a>タグに追加されます。#/one/#two
問題は、2番目のタブをクリックしても、クラスが追加されないことです。URLが変更されたときにディレクティブ内のコードを再実行する方法が必要だと思います。それを行う方法はありますか?