虽然咱们能够用angular中的路由来作tab选项卡,可是那会让咱们创建不少的页面来引入,或者创建 <script type="text/ng-template" id="news"></script>来装内容,
我认为都比较麻烦。因此我是使用angular中的json和angular中的ng-show来作选项卡的。javascript
话很少说,上代码css
html部分html
<!--设置nav导航栏--> <ul> <!--nav中的导航栏内容,并给每一个li设置点击事件,设置是否显示class样式--> <li ng-repeat="v in wd" ng-click="wD($index)" class="{{wD1($index)?'wd':''}}"> {{v.font}} </li> </ul> <!--设置tab选项卡的内容,并用ng-show来判断哪一个tab内容显示--> <ul ng-repeat="v in wd1" ng-show="wDBottom($index)"> <!--tab选项卡里的内容--> <li ng-repeat="vv in v.Font"> {{vv.font}} </li> </ul>
js部分java
<script type="text/javascript"> //angular模块 var app = angular.module("mk",[]); //angular控制台 app.controller("ctrl",function($scope,$http){ $scope.contentwd = 0; //创建一个json作nav导航 $scope.wd = [{"font":"1"},{"font":"2"},{"font":"3"},{"font":"4"},{"font":"5"}]; //创建一个json作tab选项卡中的内容 $scope.wd1 = [ {"Font":[ {"font":"tab1"}, {"font":"tab1"}, {"font":"tab1"} ]}, {"Font":[ {"font":"tab2"}, {"font":"tab2"}, {"font":"tab2"} ]}, {"Font":[ {"font":"tab3"}, {"font":"tab3"}, {"font":"tab3"} ]}, {"Font":[ {"font":"tab4"}, {"font":"tab4"}, {"font":"tab4"} ]}, {"Font":[ {"font":"tab5"}, {"font":"tab5"}, {"font":"tab5"} ]}, ]; //导航栏中点击时获取下标来让哪一个来显示 $scope.wD = function(index){ $scope.contentwd = index; return $scope.contentwd; } //肯定哪一个导航栏的样式给哪一个 $scope.wD1 = function(index){ return $scope.contentwd == index; } //获取下标来让哪一个tab选项卡中的内容显示 $scope.wDBottom = function(index){ return $scope.contentwd == index; } }) </script>
css样式json
<style type="text/css"> /*初始化页面*/ *{margin:0;padding:0;text-decoration: none;box-sizing: border-box;list-style: none;} /*设置样式方便观看*/ ul:first-child{ width:500px; height:50px; margin:20px auto; margin-bottom: 0; } ul:first-child>li{ width:100px; height:50px; border:1px solid #aaa; text-align: center; float: left; line-height: 50px; } ul:first-child~ul{ width:500px; height:350px; margin:0px auto; border: 1px solid #aaa; } /*给nav中添加的样式*/ .wd{ color:blue; } </style>
我认为这个是很是方便的;但愿对你们有所帮助app