Angularjs 基于所选菜单的活动类

Angularjs 基于所选菜单的活动类,angularjs,ng-class,Angularjs,Ng Class,我正在学习angular并尝试创建导航栏菜单,并根据当前页面设置“活动”类 index.html controllers.js 目前它正在工作,当点击Afe封面菜单时,元素将具有“active”类,但我不确定使用ng click是否正确。代码似乎是重复的。有谁能告诉我最好的方法吗?您可以使用$location服务和ng class指令中的一个函数,如果它与当前路径匹配,则返回bool <div class="collapse navbar-collapse" ng-controller="

我正在学习angular并尝试创建导航栏菜单,并根据当前页面设置“活动”类

index.html controllers.js
目前它正在工作,当点击Afe封面菜单时,
  • 元素将具有“active”类,但我不确定使用ng click是否正确。代码似乎是重复的。有谁能告诉我最好的方法吗?

    您可以使用$location服务和
    ng class
    指令中的一个函数,如果它与当前路径匹配,则返回bool

    <div class="collapse navbar-collapse" ng-controller="MenuController">
        <ul class="nav navbar-nav">
            <li data-ng-class="{active: isActive('/AfeCoverPage')}"><a href="#/AfeCoverPage">AFE Cover Page</a></li>
            <li data-ng-class="{active: isActive('/AfeCostEstimate')}"><a href="#/AfeCostEstimate">AFE Cost Estimate</a></li>
            <li data-ng-class="{active: isActive('/AfeVariance')}"><a href="#/AfeVariance">AFE Variance</a></li>
        </ul>
    </div>
    

    您可以只使用$location服务和
    ng class
    指令中的一个函数,如果它与当前路径匹配,则返回bool

    <div class="collapse navbar-collapse" ng-controller="MenuController">
        <ul class="nav navbar-nav">
            <li data-ng-class="{active: isActive('/AfeCoverPage')}"><a href="#/AfeCoverPage">AFE Cover Page</a></li>
            <li data-ng-class="{active: isActive('/AfeCostEstimate')}"><a href="#/AfeCostEstimate">AFE Cost Estimate</a></li>
            <li data-ng-class="{active: isActive('/AfeVariance')}"><a href="#/AfeVariance">AFE Variance</a></li>
        </ul>
    </div>
    

    您可以只使用$location服务和
    ng class
    指令中的一个函数,如果它与当前路径匹配,则返回bool

    <div class="collapse navbar-collapse" ng-controller="MenuController">
        <ul class="nav navbar-nav">
            <li data-ng-class="{active: isActive('/AfeCoverPage')}"><a href="#/AfeCoverPage">AFE Cover Page</a></li>
            <li data-ng-class="{active: isActive('/AfeCostEstimate')}"><a href="#/AfeCostEstimate">AFE Cost Estimate</a></li>
            <li data-ng-class="{active: isActive('/AfeVariance')}"><a href="#/AfeVariance">AFE Variance</a></li>
        </ul>
    </div>
    

    您可以只使用$location服务和
    ng class
    指令中的一个函数,如果它与当前路径匹配,则返回bool

    <div class="collapse navbar-collapse" ng-controller="MenuController">
        <ul class="nav navbar-nav">
            <li data-ng-class="{active: isActive('/AfeCoverPage')}"><a href="#/AfeCoverPage">AFE Cover Page</a></li>
            <li data-ng-class="{active: isActive('/AfeCostEstimate')}"><a href="#/AfeCostEstimate">AFE Cost Estimate</a></li>
            <li data-ng-class="{active: isActive('/AfeVariance')}"><a href="#/AfeVariance">AFE Variance</a></li>
        </ul>
    </div>
    
    .controller('MenuController', function ($scope, $location) {
        $scope.isActive = function (path) {
           return $location.path() === path;
        }
    });