我是AngularJS的新手,我尝试开发一个更改activeclass的导航栏。所以我试着在我的控制器中创建一个函数来定义活动类。
导航的html代码:
控制器:
我用grunt编译,没有错误/警告。每个导航项目都没有活动类。这是怎么来的?
答案 0 :(得分:4)
您未在控制器中注入$location
:
['$scope', function($scope, $location) ...]
将其添加到注射列表中:
['$scope', '$location', function($scope, $location) ...]
ng-class
的语法很好。
答案 1 :(得分:-2)
Ng-class directive has a bit different syntax。它应该是我应用时的类名和条件的映射。在你的情况下,它可能是这样的:
<li ng-class="{active: getClass(PATH)}">...</li>
虽然实际上更适合您的案例,但可能是angular ui router的ui-sref-active
。初始配置需要更多时间,但使用它不仅可以突出显示菜单,还可以使用角度应用程序中的整个状态管理。请参阅此处的示例:http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.directive:ui-sref-active