angular路由之后的按钮样式要怎么改变?

如题,我想在路由后改变按钮的样式,就是下面在点击 about 链接之后 active 类应该从API上消失并转移到about上。

但是我不希望通过dom的方式实现(感觉那样还是在用jquery的方式在解决问题)。请问angular里怎样实现才算得上优雅呢?

<ul class="nav navbar-nav">
     <li class="active"><a href="#/">API</a></li>
     <li><a ng-href="#/about">About</a></li>
</ul>
阅读 3.1k
2 个回答
$scope.$state = $state;
<ul class="nav navbar-nav">
     <li ng-class="{'active': $state.current.name = 'main'}"><a href="#/">API</a></li>
     <li ng-class="{'active': $state.current.name = 'about'}"><a ng-href="#/about">About</a></li>
</ul>

上面路由名字换成实际的

也可以ui-router的指令,参考

可以使用ng-class指令bool判断,绑定点击事件把li的$index传过去。