如何实现与角JS引导导航栏活动类 [英] How do I implement the bootstrap navbar active class with Angular JS

查看:186
本文介绍了如何实现与角JS引导导航栏活动类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有一个自举导航栏的项目

 首页|关于我们|联系

我如何设置每个菜单项的活动类的时候都活跃?也就是说,我怎么可以设置类=活跃当角路线是在


  1. #/ 产品

  2. #/约的有关网页

  3. #/联系人联系人页


解决方案

一个非常优雅的方式是使用NG-控制器到NG-视图之外运行单个控制器:

 < D​​IV CLASS =导航栏崩崩NG控制器=HeaderController>
    < UL类=NAV导航栏,导航>
        <李纳克级={活跃:isActive('/')}>< A HREF =/>首页< / A>< /李>
        <李纳克级={活跃:isActive('/狗')}>< A HREF =/狗>狗< / A>< /李>
        <李纳克级={活跃:isActive('/猫')}>< A HREF =/猫>猫< / A>< /李>
    < / UL>
< / DIV>
< D​​IV NG-视图>< / DIV>

和包括controllers.js:

 函数HeaderController($范围,$位置)
{
    $ scope.isActive =功能(viewLocation){
        返回viewLocation === $ location.path();
    };
}

If I have a navbar in bootstrap with the items

Home | About | Contact

How do I set the active class for each menu item when they are active? That is, how can I set class="active" when the angular route is at

  1. #/ for home
  2. #/about for the about page
  3. #/contact for the contact page

解决方案

A very elegant way is to use ng-controller to run a single controller outside of the ng-view:

<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>

and include in controllers.js:

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

这篇关于如何实现与角JS引导导航栏活动类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆