javascript - 如何使用 Angular JS 设置 Bootstrap 导航栏事件类?

标签 javascript twitter-bootstrap angularjs angularjs-directive navbar

如果我在 Bootstrap 中有一个带有项目的导航栏

Home | About | Contact

如何在每个菜单项处于事件状态时为其设置事件类?也就是说,当 Angular 路由在

时,如何设置 class="active"
  1. #/ 用于家庭
  2. #/about 用于关于页面
  3. #/contact 联系页面

最佳答案

一种非常优雅的方式是使用 ng-controller 在 ng-view 之外运行单个 Controller :

<div class="collapse navbar-collapse" ng-controller="HeaderController">
    <ul class="nav navbar-nav">
        <li ng-class="{ active: isActive('/')}"><a href="/">Home</a></li>
        <li ng-class="{ active: isActive('/dogs')}"><a href="/dogs">Dogs</a></li>
        <li ng-class="{ active: isActive('/cats')}"><a href="/cats">Cats</a></li>
    </ul>
</div>
<div ng-view></div>

并包含在 controllers.js 中:

function HeaderController($scope, $location) 
{ 
    $scope.isActive = function (viewLocation) { 
        return viewLocation === $location.path();
    };
}

关于javascript - 如何使用 Angular JS 设置 Bootstrap 导航栏事件类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16199418/

相关文章:

javascript - Javascript在删除小数点时替换为空

javascript - 在javascript中更改所有按钮的背景颜色

css - 我需要一些帮助来创建基于网格的网站

javascript - Tinymce 内联编辑器不会在 Bootstrap 模式中显示菜单或工具栏

jquery - 在模态 ('show' 上自动滚动 Bootstrap 模态

javascript - AngularJS 使用点语法 API 创建服务

javascript - 简单的 Angular Testing 失败($injector :unpr Unknown Provider) when I have no dependencies

javascript - 如何在 Vue.js 中的组件之间共享方法?

javascript - 切换选项卡后 ionic 段不显示数据

javascript - 使用 AngularJS 工厂在另一个函数中调用一个函数