我是网络开发的新手。最近正在尝试在Angular JS中实现Tab功能的一个例子。
我想要将条件运算符应用于以下代码。 我可以申请condtional运营商吗?因为我说得对。它显示出一些错误。
<div class="tab-content">
<div ng-class="{'tab-pane active': activeTab === 1, 'tab-pane' : activeTab !== 1}">Panel 1 Content</div>
<div ng-class="{'tab-pane active': activeTab === 2, 'tab-pane' : activeTab !== 2}">Panel 2 Content</div>
<div ng-class="{'tab-pane active': activeTab === 3, 'tab-pane' : activeTab !== 3}">Panel 3 Content</div>
</div>
请从下面找到整个代码:
我正在尝试动态选择Tab键。因此,在选项卡上单击相应的窗格是活动的。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Bootstrap tab panel with Angular</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" />
</head>
<body ng-app="app" ng-controller="ctrl">
<ul class="nav nav-tabs">
<li ng-class="{'active' : activeTab == 1}"><a href="" ng-click="setActiveTab(1)">One</a></li>
<li ng-class="{'active' : activeTab == 2}"><a href="" ng-click="setActiveTab(2)">Two</a></li>
<li ng-class="{'active' : activeTab == 3}"><a href="" ng-click="setActiveTab(3)">Three</a></li>
</ul>
<div class="tab-content">
<div ng-class="{'tab-pane active': activeTab === 1, 'tab-pane' : activeTab !== 1}">Panel 1 Content</div>
<div ng-class="{'tab-pane active': activeTab === 2, 'tab-pane' : activeTab !== 2}">Panel 2 Content</div>
<div ng-class="{'tab-pane active': activeTab === 3, 'tab-pane' : activeTab !== 3}">Panel 3 Content</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script>
angular.module("app", [])
.controller("ctrl", ['$scope', function($scope) {
$scope.activeTab = 1;
$scope.setActiveTab = function(tabToSet) {
$scope.activeTab = tabToSet;
}
}]);
</script>
</body>
</html>
答案 0 :(得分:2)
您可以将ng-class
条件中的单个表达式最小化,方法是将tab-pane
添加为默认类,并在制表符处于活动状态时有条件地添加active
类。
class="tab-pane" ng-class="{'active': activeTab === 1}