问题描述
如题,我想在路由后改变按钮的样式,就是下面在点击 about 链接之后 active 类应该从API上消失并转移到about上。
但是我不希望通过dom的方式实现(感觉那样还是在用jquery的方式在解决问题)。请问angular里怎样实现才算得上优雅呢?
<ul class='nav navbar-nav'> <li class='active'><a href='https://www.6hehe.com/wenda/13946.html#/'>API</a></li> <li><a ng-href='https://www.6hehe.com/wenda/13946.html#/about'>About</a></li></ul>
问题解答
回答1:$scope.$state = $state;
<ul class='nav navbar-nav'> <li ng-class='{’active’: $state.current.name = ’main’}'><a href='https://www.6hehe.com/wenda/13946.html#/'>API</a></li> <li ng-class='{’active’: $state.current.name = ’about’}'><a ng-href='https://www.6hehe.com/wenda/13946.html#/about'>About</a></li></ul>
上面路由名字换成实际的
也可以ui-router的指令,参考
回答2:可以使用ng-class指令bool判断,绑定点击事件把li的$index传过去。