angular的标签栏,有两种方法实现:

    1. 内容全部加载到页面中,再利用ng-show指令。
    2. 将每一块要加载的内容做成模板,利用ng-if指令加载。
    3. 用bootstrap的tab组件
    4. 用angular的ui-bootstrap中<tab><uib-tab>标签

  详细例子如下:

  • 1、ng-show
<script>
var App = angular.module("App",[]);
App.controller('DatailController',['$scope',function($scope){
$scope.detailDownTitle = {
title :[
"选题详情","关联内容","推荐内容","流程日志"
],
count : 0,
datailShow : function(index){
if(index==0){
this.count=0;
}else if(index==1){
this.count=1;
}else if(index==2){
this.count=2;
}else if(index==3){
this.count=3;
}else{ }
}
}]);
</script>

  HTML模板如下:

<div class="detailDown">
<ul class="detailDownTitle">
<li data-ng-repeat="title in detailDownTitle.title" data-ng-click="detailDownTitle.datailShow($index)"><a>{{title}}</a></li> //将$index传参,确定单击的哪一个Tab
</ul>

  <div data-ng-show="detailDownTitle.count==0">
    <div>Tab1</div>
  </div>
  <div data-ng-show="detailDownTitle.count==1">
    <div>Tab2</div>
  </div>
  <div data-ng-show="detailDownTitle.count==2">
    <div>Tab3</div>
  </div>

  <div data-ng-show="detailDownTitle.count==3">
    <div>Tab4</div>
  </div>

</div>

  主页index.html引入方式如下

    <div class="detailContent" data-ng-include=" 'topicDetail.html' " ng-controller= "DatailController">   //注意路径

    </div>
  • 2、ng-if

  script标签内容一样,HTML模板如下:

<div class="detailDown">
<ul class="detailDownTitle">
<li data-ng-repeat="title in detailDownTitle.title" data-ng-click="detailDownTitle.datailShow($index)"><a>{{title}}</a></li>
</ul>
<div data-ng-include=" '/topic/template/topicContent.html' " data-ng-if="detailDownTitle.count==0"></div>
<div data-ng-include=" '/topic/template/linkContent.html' " data-ng-if="detailDownTitle.count==1"></div>
<div data-ng-include=" '/topic/template/recommendContent.html' " data-ng-if="detailDownTitle.count==2"></div>
</div>
  • 3、bootstrap组件

  这里,将bootstrap官网http://v3.bootcss.com/javascript/对应的JavaScript插件代码做了些许变化。将不同的标签展示的内容引入不同的模板,而不是写死的内容。剩下的就是调整一下样式就可以了。

         <ul class="nav nav-tabs tab-layer" role="tablist">
<li role="presentation" class="active tab-list">
<a href="#topic-content" role="tab" data-toggle="tab" >选题详情</a>
</li>
<li role="presentation" class="tab-list">
<a href="#link-content" role="tab" data-toggle="tab">关联内容</a>
</li>
<li role="presentation" class="tab-list">
<a href="#recommend-content" role="tab" data-toggle="tab">推荐内容</a>
</li>
<li role="preseontation" class="tab-list">
<a href="#flow-log" role="tab" data-toggle="tab">流程日志</a>
</li>
</ul>
<div class="detail-cnt tab-content">
<div role="tabpanel" class="tab-pane active" id="topic-content" data-ng-include="'ns-topic/template/topicContent.html'"></div>
<div role="tabpanel" class="tab-pane" id="link-content" data-ng-include="'ns-topic/template/linkContent.html'"></div>
<div role="tabpanel" class="tab-pane" id="recommend-content" data-ng-include="'ns-topic/template/recommendContent.html'"></div>
<div role="tabpanel" class="tab-pane" id="flow-log" data-ng-include="'ns-topic/template/flowLog.html'"></div>
</div>
  • 4、angular的ui-bootstrap(推荐)

  查看相关api,对ui-bootstrap-tpls-0.14.0以前的版本用<tab>标签,该版本之后的用<uib-tab>标签。

            <uib-tabset active="activeJustified" justified="true">
<uib-tab index="0" heading="tab1">tab1内容</uib-tab>
<uib-tab index="1" heading="tab2">tab2内容</uib-tab>
<uib-tab index="2" heading="tab3">tab3内容</uib-tab>
</uib-tabset>

  这里引用的是最新的版本ui-bootstrap-tpls-2.3.0.min.js,大家可以在这里下载各个版本,不要忘了引入bootstrap.css,测试一下,可以吗?可以吗?可以吗?

  报错!

  报错!!

  报错!!!

  开始怀疑了,API上写的为啥不行,哪都没错啊,为啥?

  个人理解是标签不正规,但是换一种思路,将其作为属性试一下:

            <div uib-tabset active="activeJustified" justified="true">
<div uib-tab index="0" heading="tab1">tab1内容</div>
<div uib-tab index="1" heading="tab2">tab2内容</div>
<div uib-tab index="2" heading="tab3">tab3内容</div>
</div>

  done!剩下的就是稍微调整一下样式就可以了。

  最后,如果后续发现新的实现方法,会继续总结

Tab标签栏 切换 权威总结的更多相关文章

  1. html tab页面切换事件。

    $(document).bind("visibilitychange",function(e){ //只对tab页面切换有效 //document.visibilityState ...

  2. 微信小程序小技巧系列《一》幻灯片,tab导航切换

    作者:gou-tian 来自:github 幻灯片 使用微信小程序原生组件swiper实现. <swiper indicator-dots="{{indicatorDots}}&quo ...

  3. JS特效之Tab标签切换

    在我们平时浏览网站的时候,经常看到的特效有图片轮播.导航子菜单的隐藏.tab标签的切换等等.这段时间学习了JS后,开始要写出一些简单的特效.今天我也分享一个简单tab标签切换的例子.先附上代码: HT ...

  4. Android自定义控件----RadioGroup实现APP首页底部Tab的切换

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  5. 利用target的特性,可以实现纯css的tab效果切换

    基础知识: :target起作用的是href连接到的位置 如 <a href="#tab1">tab1</a> <div id="tab1& ...

  6. jquery实现tab页切换显示div

    1.jQuery实现tab切换显示代码实现 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" &q ...

  7. Qt之Tab键切换焦点顺序

    简介 Qt的窗口部件按用户的习惯来处理键盘焦点.也就是说,其出发点是用户的焦点能定向到任何一个窗口,或者窗口中任何一个部件. 焦点获取方式比较多,例如:鼠标点击.Tab键切换.快捷键.鼠标滚轮等. 习 ...

  8. 【Qt】Qt之Tab键切换焦点顺序【转】

    简介 Qt的窗口部件按用户的习惯来处理键盘焦点.也就是说,其出发点是用户的焦点能定向到任何一个窗口,或者窗口中任何一个部件. 焦点获取方式比较多,例如:鼠标点击.Tab键切换.快捷键.鼠标滚轮等. 习 ...

  9. ECSHOP:首页实现显示子分类商品,并实现点击Tab页切换分类商品

    例子:首页实现显示子分类商品,并实现点击Tab页切换分类商品(非AJAX) 开始:    1. 打开调试开关     文件地址:include/cls_template.php 找到 : functi ...

随机推荐

  1. Android学习----Android Studio 技巧汇总

    关于快捷键 The File Structure Popup ctrl+f12此快捷键可以调出当前文件的大纲,并通过模糊匹配快速跳转至指定的方法.勾选上“show anonymous classes” ...

  2. 2.2.2 从 Path 中获取信息

    Demo: import java.nio.file.Path; import java.nio.file.Paths; public class PathInfoTest { public stat ...

  3. PhotoShop 移动工具详解

    自动选择工具 勾选后  可以随意移动任意图层     不勾选  只适用于移动当前所选图层 Ctrl+Z 还原移动Ctrl+Alt+Z 后退一步 复制图像 Alt键+拖动 Shift+Alt+拖动   ...

  4. Smarty 模板引擎 fetch()和display()函数的区别?

    Smarty模板函数里面有这样一个方法:fetch("template.htm"),他和display("template.htm");最大的不同就是fetch ...

  5. Python自动化运维之15、网络编程之socket、socketserver、select、twisted

    一.TCP/IP相关知识 TCP/UDP提供进程地址,两个协议互不干扰的独自的协议       TCP :Transmission Control Protocol 传输控制协议,面向连接的协议,通信 ...

  6. rename 后缀

    for file in $(find . -name "*.del" -type f);do mv "$file" "${file%.del}&quo ...

  7. java Html2Image 实现html转图片功能

    //java Html2Image 实现html转图片功能 // html2image  HtmlImageGenerator imageGenerator = new HtmlImageGenera ...

  8. Ubiquitous Religions

    http://poj.org/problem?id=2524 这道题就是并查集. #include<cstdio> #include<cstring> #include< ...

  9. KEIL C编译器常见警告与错误信息的解决办法

    对于函数的自变量.局部变量和全局变量声明如果没有指定内存类型,则内存模式将成为内定的内存类型.如果指定了内存类型的变量,则不理会内存模式,完全有所指定的内存类型为主.    SMALL模式:小模式   ...

  10. Qt一步一步实现插件调用(附源码)

    最近手里几个项目都采用插件的方式进行开发工作,这里记录一下实现方法,给需要的同学一个参考, 在linux系统和window系统都能成功编译通过,不废话直接步骤 第一步:建立插件原型 新建一个Qt项目, ...