这篇文章主要介绍了AngularJS实现标签页tab选项卡功能,结合实例形式总结分析了各种常用的tab选项卡切换操作实现技巧与相关操作注意事项,需要的朋友可以参考下
本文实例讲述了AngularJS实现标签页tab选项卡功能。分享给大家供大家参考,具体如下:
选项卡一:
JavaScript+html+css
<title>www.gaodaima.com js标签页tab切换</title> #div1 .active{ background:blue; } #div1 div{ width:200px; height:200px; background:gray; border:1px solid black; display:none; } <div id="div1"> <div>111</div><div>222</div><div>333</div><div>444</div></div>
运行效果(直接在http://tools.gaodaima.com/code/HtmlJsRun上测试运行):
选项卡二:
angularjs指令:
ng-class、ng-click、ng-if
<title>www.gaodaima.com AngularJS标签页tab切换</title> .active { background-color: orange; } <div> <button>张三</button><button>李四</button><button>王五</button></div><div> <div>张三的个人信息</div><div>李四的个人信息</div><div>王五的个人信息</div></div>
运行效果(直接在http://tools.gaodaima.com/code/HtmlJsRun上测试运行):
选项卡三:
angularjs 指令:
ng-class、ng-click、ng-show
<title>www.gaodaima.com AngularJS标签页tab切换</title> <section> <ul> <li> 1111111111</li><li> 2222222222</li><li> 33333333333</li></ul><!--是否点击--> {{panel.isSelected(1)}} {{panel.isSelected(2)}} {{panel.isSelected(3)}} <div class="panel"> <h1>我是1111111111111111111111</h1></div><div class="panel"> <h1>我是2222222222222<em style="color:transparent">来源gao.dai.ma.com搞@代*码网</em>2222</h1></div><div class="panel"> <h1>我是3333333333333333333333</h1></div></section>
运行效果(直接在http://tools.gaodaima.com/code/HtmlJsRun上测试运行):
选项卡四:
angularjs 指令
第二种和第三种方式来源于下面代码的改进,产生的效果都是一样的。
<title>www.gaodaima.com AngularJS标签页tab切换</title> <section> <ul> <li> 1111111111</li><li> 2222222222</li><li> 33333333333</li></ul><!--是否点击--> {{tab===1}} {{tab===2}} {{tab===3}} <div class="panel"> <h1>我是1111111111111111111111</h1></div><div class="panel"> <h1>我是22222222222222222</h1></div><div class="panel"> <h1>我是3333333333333333333333</h1></div></section>
运行效果(直接在http://tools.gaodaima.com/code/HtmlJsRun上测试运行):
但ng-show和ng-if是有区别的
第一点区别是,
ng-if
在后面表达式为 true 的时候才创建这个 dom 节点,ng-show
是初始时就创建了,用display:block
和 display:none
来控制显示和不显示。
第二点区别是,
ng-if
会(隐式地)产生新作用域,ng-switch
、 ng-include
等会动态创建一块界面的也是如此。
这样会导致,在 ng-if
中用基本变量绑定 ng-model
,并在外层 div 中把此 model 绑定给另一个显示区域,内层改变时,外层不会同步改变,因为此时已经是两个变量了。
<p>{{name}}</p><div> </div>
ng-show 不存在此问题,因为它不自带一级作用域。
避免这类问题出现的办法是,始终将页面中的元素绑定到对象的属性(data.x
)而不是直接绑定到基本变量(x
)上。AngularJS中的作用域
参考:
AngularJS 常见面试问题
优酷视频:AngularJS 入门教程(2.2):学做标签页
更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》
希望本文所述对大家AngularJS程序设计有所帮助。
以上就是AngularJS标签页tab选项卡切换功能经典实例详解的详细内容,更多请关注gaodaima搞代码网其它相关文章!