Angularjs 类仅在单击元素时切换
我只希望在我单击的a标记上显示活动类,其余部分应显示“非活动类”: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
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之后,它们是不路由的