AngularJS实现标签页的两种方式
AngularJS实现标签页的两种方式
发布时间:2016-12-30 来源:查字典编辑
摘要:一、通过普通指令实现标签页标签1标签2标签1的内容标签2的内容说明这里演示的是直接通过bootstrap实现的方法。还可以通过angular...

一、通过普通指令实现标签页

<link rel="stylesheet" href="views/show/tab.css"/> <div> <ul ng-init="vm.activeTab=1"> <li ng-class="{active: vm.activeTab == 1}"><a href="javascript:;" ng-click="vm.activeTab = 1">标签1</a></li> <li ng-class="{active: vm.activeTab == 2}"><a href="javascript:;" ng-click="vm.activeTab = 2">标签2</a></li> </ul> <div> <div ng-show="vm.activeTab == 1"> 标签1的内容 </div> <div ng-show="vm.activeTab == 2"> 标签2的内容 </div> </div> </div> <h3>说明</h3> 这里演示的是直接通过bootstrap实现的方法。 <hr/>还可以通过angular-bootstrap的tabset指令实现,参见 <a href="http://angular-ui.github.io/bootstrap/#/tabs" target="_blank">官方Demo</a> 'use strict'; angular.module('ngShowcaseApp').controller('ctrl.show.tab', function ($scope) { var vm = $scope.vm = {}; }); .tab-content.tab-bordered { border: 1px solid lightgray; border-top: none; padding: 15px; border-radius: 0 0 4px 4px; }

二、自定义指令实现的标签页

<!DOCTYPE html> <html lang="en" ng-app="demo"> <head> <meta charset="UTF-8"> <title></title> <script src="lib/angular.min.js" type="text/javascript"></script> <script src="lib/angular-route.js" type="text/javascript"></script> <script src="lib/jquery-2.1.4.min.js"></script> <script src="lib/bootstrap.js" type="text/javascript"></script> <link rel="stylesheet" href="css/bootstrap.css" type="text/css"/> <style> .btn-group{ position: relative; left: 40px; } .list-group{ position: relative; left: 0; } .list-group-item{ } #list3{ width: 200px; } </style> </head> <body > <div ng-controller="directiveControl"> <div ng-class="{'hidden':value}" ></div> <div> <list ng-model="value" ></list> </div> <script type="text/ng-template" id="list.html"> <div > <div> <ul> <li role="presentation" ng-mouseover="flag=3" ng-mouseleave="flag=4"><a href="#" >{{name}}</a></li> </ul> </div> <div id="list3" ng-show="flag==3" ng-mouseover="flag=3" ng-mouseleave="flag=4"> <ul > <li ng-click="fun1()"><a href="#">Action</a></li> <li><a href="#">Another action</a></li> <li><a href="#">Something else here</a></li> <li><a href="#">Separated link</a></li> </ul> </div> </div> </script> </div> </body> <script> var demo=angular.module("demo",[]); demo.controller("directiveControl", function ($scope) { }); demo.directive("list",[function () { return { restrict:'EA', templateUrl:'list.html', scope:{ value:'=ngModel' }, link: function (scope,element,attr) { scope.name="home"; scope.lists=[{name:'home'},{name:'family '}]; scope.fun1= function () { scope.value=true; console.log("a") } } } }]) </script> </html>

(1)首先要解决指令必须写在一个根标签中,一定要用div包裹

(2)指令外部传递参数要使用ng-model,来声明变量,

在指令中用scope:{

value:'ngModel'

}来赋值

总结

以上就是关于AngularJS实现标签页的全部内容,希望这篇文章对大家学习或使用AngularJs能有所帮助,如果有疑问大家可以留言交流。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类