Angularjs 类仅在单击元素时切换

Angularjs 类仅在单击元素时切换,angularjs,Angularjs,我只希望在我单击的a标记上显示活动类,其余部分应显示“非活动类”: app.controller("myCtrl", function($scope, $log){ $scope.activeact=false; $scope.makeactive=function(){ $scope.activeact=true; } }); <ul> <li><a href="#" ng-click="makeac

我只希望在我单击的a标记上显示活动类,其余部分应显示“非活动类”:

app.controller("myCtrl", function($scope, $log){
       $scope.activeact=false;
       $scope.makeactive=function(){

       $scope.activeact=true;
    }
});


<ul>
    <li><a href="#" ng-click="makeactive()" ng-class="activeact ? 'active' : 'inactive'">one</a></li>
    <li><a href="#" ng-click="makeactive()" ng-class="activeact ? 'active' : 'inactive'">Two</a></li>
    <li><a href="#" ng-click="makeactive()" ng-class="activeact ? 'active' : 'inactive'">Three</a></li>
</ul>
app.controller(“myCtrl”,函数($scope,$log){
$scope.activeact=false;
$scope.makeactive=function(){
$scope.activeact=true;
}
});

请帮助

用户可以使用不同的代码

<ul>
<li><a href="#" ng-click="makeactive(1)" ng-class="selectedindex==1 ? 'active' : 'inactive'">one</a></li>
<li><a href="#" ng-click="makeactive(2)" ng-class="selectedindex==2 ? 'active' : 'inactive'">Two</a></li>
<li><a href="#" ng-click="makeactive(3)" ng-class="selectedindex==3 ? 'active' : 'inactive'">Three</a></li>
</ul>

Use可以使用不同的代码

<ul>
<li><a href="#" ng-click="makeactive(1)" ng-class="selectedindex==1 ? 'active' : 'inactive'">one</a></li>
<li><a href="#" ng-click="makeactive(2)" ng-class="selectedindex==2 ? 'active' : 'inactive'">Two</a></li>
<li><a href="#" ng-click="makeactive(3)" ng-class="selectedindex==3 ? 'active' : 'inactive'">Three</a></li>
</ul>

考虑到列表元素的数量是固定的,并且很小,便于解决

app.controller("myCtrl", function($scope, $log){

       $scope.makeactive=function(num){
            $scope['li'+num]=true;
       }
});
HTML是:

<ul>
   <li><a href="#" ng-click="makeactive(1)" ng-class="li1 ? 'active' : 'inactive'">one</a></li>
   <li><a href="#" ng-click="makeactive(2)" ng-class="li2 ? 'active' : 'inactive'">Two</a></li>
   <li><a href="#" ng-click="makeactive(3)" ng-class="li3 ? 'active' : 'inactive'">Three</a></li>
</ul>

显然,这不是一个通用的解决方案,但对于小元素来说,这是一个更容易的解决方案。

考虑到列表元素的数量是固定的,对于一个简单的解决方案来说,列表元素是小的

app.controller("myCtrl", function($scope, $log){

       $scope.makeactive=function(num){
            $scope['li'+num]=true;
       }
});
HTML是:

<ul>
   <li><a href="#" ng-click="makeactive(1)" ng-class="li1 ? 'active' : 'inactive'">one</a></li>
   <li><a href="#" ng-click="makeactive(2)" ng-class="li2 ? 'active' : 'inactive'">Two</a></li>
   <li><a href="#" ng-click="makeactive(3)" ng-class="li3 ? 'active' : 'inactive'">Three</a></li>
</ul>

显然,这不是一个通用的解决方案,但对于小元素,这是一个更简单的解决方案。

以下是您可以做的!使用以下数组使用
ng repeat

$scope.numbers = ["one", "two", "three"];
现在,您在
  • 上的
    ng repeat
    将如下所示:

    <li ng-repeat="num in numbers">
      <a href="#" ng-click="makeactive($index)" 
         ng-class="activeact{{$index}} ? 'active' : 'inactive'"
         ng-bind="num">
      </a>
    </li>
    
    .active{
    颜色:绿色
    }
    
    

    以下是您可以做的!使用以下数组使用
    ng repeat

    $scope.numbers = ["one", "two", "three"];
    
    现在,您在
  • 上的
    ng repeat
    将如下所示:

    <li ng-repeat="num in numbers">
      <a href="#" ng-click="makeactive($index)" 
         ng-class="activeact{{$index}} ? 'active' : 'inactive'"
         ng-bind="num">
      </a>
    </li>
    
    .active{
    颜色:绿色
    }
    
    

    您可以使用ui路由器:

    <ul class="nav nav-pills nav-justified">
        <li ui-sref-active="active"><a ui-sref="home">home</a></li>
        <li ui-sref-active="active"><a ui-sref="about">about</a</li>
        <li ui-sref-active="active"><a ui-sref="contact">contact</a></li>
    </ul>
    
    • ui路由器示例:和


      您可以使用相同的ui路由器,而无需ng类或ng重复

      您可以使用ui路由器:

      <ul class="nav nav-pills nav-justified">
          <li ui-sref-active="active"><a ui-sref="home">home</a></li>
          <li ui-sref-active="active"><a ui-sref="about">about</a</li>
          <li ui-sref-active="active"><a ui-sref="contact">contact</a></li>
      </ul>
      
      • ui路由器示例:和


        您可以在不使用ng class或ng repeat的情况下使用相同的ui路由器

        列表元素的数量,即
      • 标记的数量是否固定?是否为菜单?页面之间的路由?是的,它们是固定的,您可以给ng举个例子,稍后重复,在回答固定li的问题后。没有路由是列表元素的数量,即,
      • 标记的数量固定了吗?是菜单?页面之间的路由?是的,它们是固定的,你们可以给ng举个例子,稍后重复,在回答固定的li之后,它们是不路由的