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>
阅读 3k
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传过去。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进