AngularJS标签页tab选项卡切换功能经典实例详解

本文实例讲述了AngularJS实现标签页tab选项卡功能。分享给大家供大家参考,具体如下:

选项卡一:

JavaScript+html+css



  
    
    www.jb51.net js标签页tab切换
    
    
  
  
    
111
222
333
444

运行效果(直接在http://tools.jb51.net/code/HtmlJsRun上测试运行):

AngularJS标签页tab选项卡切换功能经典实例详解_第1张图片

选项卡二:

angularjs指令:

ng-class、ng-click、ng-if




  
  www.jb51.net AngularJS标签页tab切换
  
  


张三的个人信息
李四的个人信息
王五的个人信息

运行效果(直接在http://tools.jb51.net/code/HtmlJsRun上测试运行):

AngularJS标签页tab选项卡切换功能经典实例详解_第2张图片

选项卡三:

angularjs 指令:

ng-class、ng-click、ng-show




  
  www.jb51.net AngularJS标签页tab切换
  


{{panel.isSelected(1)}} {{panel.isSelected(2)}} {{panel.isSelected(3)}}

我是1111111111111111111111

我是22222222222222222

我是3333333333333333333333

运行效果(直接在http://tools.jb51.net/code/HtmlJsRun上测试运行):

AngularJS标签页tab选项卡切换功能经典实例详解_第3张图片

选项卡四:

angularjs 指令

第二种和第三种方式来源于下面代码的改进,产生的效果都是一样的。




  
  www.jb51.net AngularJS标签页tab切换
  


{{tab===1}} {{tab===2}} {{tab===3}}

我是1111111111111111111111

我是22222222222222222

我是3333333333333333333333

运行效果(直接在http://tools.jb51.net/code/HtmlJsRun上测试运行):

AngularJS标签页tab选项卡切换功能经典实例详解_第4张图片

但ng-show和ng-if是有区别的

第一点区别是,

ng-if 在后面表达式为 true 的时候才创建这个 dom 节点,
ng-show 是初始时就创建了,用display:blockdisplay:none 来控制显示和不显示。

第二点区别是,

ng-if 会(隐式地)产生新作用域,ng-switchng-include 等会动态创建一块界面的也是如此。

这样会导致,在 ng-if 中用基本变量绑定 ng-model,并在外层 div 中把此 model 绑定给另一个显示区域,内层改变时,外层不会同步改变,因为此时已经是两个变量了。

{{name}}

ng-show 不存在此问题,因为它不自带一级作用域。

避免这类问题出现的办法是,始终将页面中的元素绑定到对象的属性(data.x)而不是直接绑定到基本变量(x)上。AngularJS中的作用域

参考:

AngularJS 常见面试问题

优酷视频:AngularJS 入门教程(2.2):学做标签页

更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》

希望本文所述对大家AngularJS程序设计有所帮助。

你可能感兴趣的:(AngularJS标签页tab选项卡切换功能经典实例详解)