angular-ui-bootstrap插件API - Tabs

   2023-03-08 学习力0
核心提示:案例!DOCTYPE htmlhtml lang="en" ng-app="myApp"headmeta charset="UTF-8"titleTitle/titlelink rel="stylesheet" href='../node_modules/bootstrap/dist/css/bootstrap.css'link rel="stylesheet" href='.

案例

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href='../node_modules/bootstrap/dist/css/bootstrap.css'>
    <link rel="stylesheet" href='../node_modules/angular-ui-bootstrap/dist/ui-bootstrap-csp.css'>
    <script src="../node_modules/angular/angular.min.js"></script>
    <script src="../node_modules/angular-ui-bootstrap/dist/ui-bootstrap-tpls.js"></script>
    <style type="text/css">
        form.tab-form-demo .tab-pane {
            margin: 20px 20px;
        }
    </style>
    <script>
        angular.module('myApp',['ui.bootstrap'])
            .controller('TabsDemoCtrl', function ($scope, uibDateParser) {
                $scope.tabs = [
                    { title:'Dynamic Title 1', content:'Dynamic content 1' },
                    { title:'Dynamic Title 2', content:'Dynamic content 2', disabled: true }
                ];

                $scope.alertMe = function() {
                    setTimeout(function() {
                        $window.alert('You\'ve selected the alert tab!');
                    });
                };

                $scope.model = {
                    name: 'Tabs'
                };
            });
    </script>
</head>
<body>
<div ng-controller="TabsDemoCtrl">
    <p>Select a tab by setting active binding to true:</p>
    <p>
        <button type="button" class="btn btn-default btn-sm" ng-click="active = 1">Select second tab</button>
        <button type="button" class="btn btn-default btn-sm" ng-click="active = 2">Select third tab</button>
    </p>
    <p>
        <button type="button" class="btn btn-default btn-sm" ng-click="tabs[1].disabled = ! tabs[1].disabled">Enable / Disable third tab</button>
    </p>
    <hr />

    <uib-tabset active="active">
        <uib-tab index="0" heading="Static title">Static content</uib-tab>
        <uib-tab index="$index + 1" ng-repeat="tab in tabs" heading="{{tab.title}}" disable="tab.disabled">
            {{tab.content}}
        </uib-tab>
        <uib-tab index="3" select="alertMe()">
            <uib-tab-heading>
                <i class="glyphicon glyphicon-bell"></i> Alert!
            </uib-tab-heading>
            I've got an HTML heading, and a select callback. Pretty cool!
        </uib-tab>
    </uib-tabset>

    <hr />

    <uib-tabset active="activePill" vertical="true" type="pills">
        <uib-tab index="0" heading="Vertical 1">Vertical content 1</uib-tab>
        <uib-tab index="1" heading="Vertical 2">Vertical content 2</uib-tab>
    </uib-tabset>

    <hr />

    <uib-tabset active="activeJustified" justified="true">
        <uib-tab index="0" heading="Justified">Justified content</uib-tab>
        <uib-tab index="1" heading="SJ">Short Labeled Justified content</uib-tab>
        <uib-tab index="2" heading="Long Justified">Long Labeled Justified content</uib-tab>
    </uib-tabset>

    <hr />

    Tabbed pills with CSS classes
    <uib-tabset type="pills">
        <uib-tab heading="Default Size">Tab 1 content</uib-tab>
        <uib-tab heading="Small Button" classes="btn-sm">Tab 2 content</uib-tab>
    </uib-tabset>

    <hr />

    Tabs using nested forms:
    <form name="outerForm" class="tab-form-demo">
        <uib-tabset active="activeForm">
            <uib-tab index="0" heading="Form Tab">
                <ng-form name="nestedForm">
                    <div class="form-group">
                        <label>Name</label>
                        <input type="text" class="form-control" required ng-model="model.name"/>
                    </div>
                </ng-form>
            </uib-tab>
            <uib-tab index="1" heading="Tab One">
                Some Tab Content
            </uib-tab>
            <uib-tab index="2" heading="Tab Two">
                More Tab Content
            </uib-tab>
        </uib-tabset>
    </form>
    Model:
    <pre>{{ model | json }}</pre>
    Nested Form:
    <pre>{{ outerForm.nestedForm | json }}</pre>
</div>
</body>
</html>

效果
angular-ui-bootstrap插件API - Tabs

uib-tabset 配置

  • active  (Default: Index of first tab) - 选项卡索引。设置这个现有选项卡的标签索引。

    <button type="button" class="btn btn-default btn-sm" ng-click="uibTabDemo = 1">点击后切换到two</button>
        <uib-tabset active="uibTabDemo">
            <uib-tab index="0" heading="one">
                one
            </uib-tab>
            <uib-tab index="1" heading="two">
                two
            </uib-tab>
        </uib-tabset>

    angular-ui-bootstrap插件API - Tabs

  • justified $ (Default: false) -标签填补容器的宽度受否一致。

    <uib-tabset active="activeJustified" justified="true">
            <uib-tab index="0" heading="Justified">Justified content</uib-tab>
            <uib-tab index="1" heading="SJ">Short Labeled Justified content</uib-tab>
            <uib-tab index="2" heading="Long Justified">Long Labeled Justified content</uib-tab>
            <uib-tab index="3" heading="Long ">Long Labeled content</uib-tab>
            <uib-tab index="4" heading="Justified">Justified content</uib-tab>
        </uib-tabset>

    angular-ui-bootstrap插件API - Tabs

    <uib-tabset active="activeJustified" justified="false">
            <uib-tab index="0" heading="Justified">Justified content</uib-tab>
            <uib-tab index="1" heading="SJ">Short Labeled Justified content</uib-tab>
            <uib-tab index="2" heading="Long Justified">Long Labeled Justified content</uib-tab>
            <uib-tab index="3" heading="Long ">Long Labeled content</uib-tab>
            <uib-tab index="4" heading="Justified">Justified content</uib-tab>
        </uib-tabset>

    angular-ui-bootstrap插件API - Tabs

    • template-url (Default: uib/template/tabs/tabset.html) - 一个URL代表组件使用的模板位置。
  • type (Defaults: tabs) - 导航类型。可能的值是“tabs”和“pills”。以下是pills类型

    <uib-tabset type="pills">
            <uib-tab heading="Default Size">Tab 1 content</uib-tab>
            <uib-tab heading="Small Button" classes="btn-sm">Tab 2 content</uib-tab>
        </uib-tabset>

    angular-ui-bootstrap插件API - Tabs

  • vertical $ (Default: false) - 标签是否垂直堆叠显示(最好设置type为pills,因为ui-bootstrap并没有对对垂直显示做样式调整)。

    <uib-tabset active="activePill" vertical="true" type="pills">
            <uib-tab index="0" heading="Vertical 1">Vertical content 1</uib-tab>
            <uib-tab index="1" heading="Vertical 2">Vertical content 2</uib-tab>
        </uib-tabset>

    angular-ui-bootstrap插件API - Tabs

uib-tab 配置

  • classes $ - 一个可选的字符串,内容为空格分隔的CSS类.这个类是作用到标签上的,而不是内容上的

    Tabbed pills with CSS classes
        <uib-tabset type="pills">
            <uib-tab heading="Default Size">Tab 1 content</uib-tab>
            <uib-tab heading="Small Button" classes="btn-sm">Tab 2 content</uib-tab>
        </uib-tabset>

    angular-ui-bootstrap插件API - Tabs

  • deselect() $ - 当标签被激活时,一个可选的表达式

  • disable $  (Default: false) - 禁用选项卡

  • heading - 标题文本

    <uib-tabset>
            <uib-tab index="0" heading="one">
                one
            </uib-tab>
            <uib-tab index="1" heading="two">
                two
            </uib-tab>
        </uib-tabset>

    angular-ui-bootstrap插件API - Tabs

  • index - 标签索引。必须是唯一的数字或字符串。

  • select() $ - 一个可选的表达式,当标签被激活时触发。

    $scope.tabs = [
                        { title:'Dynamic Title 1', content:'Dynamic content 1' },
                        { title:'Dynamic Title 2', content:'Dynamic content 2', disabled: true }
                    ];
    
                    $scope.alertMe = function() {
                        console.log('demo')
                    };

    angular-ui-bootstrap插件API - Tabs

  • template-url (Default: uib/template/tabs/tab.html) - 一个URL的位置代表使用选项卡标题的模板。

Tabset heading

如果使用uib-tabset字符串标题无法满足需求,您也可以使用一个uib-tab-heading元素。也可以使用HTML。

<uib-tabset active="active">
        <uib-tab index="0" heading="Static title">Static content</uib-tab>
        <uib-tab index="1" select="alertMe()">
            <uib-tab-heading>
                <i class="glyphicon glyphicon-bell"></i> Alert!
            </uib-tab-heading>
            I've got an HTML heading, and a select callback. Pretty cool!
        </uib-tab>
    </uib-tabset>

angular-ui-bootstrap插件API - Tabs

 

已知的问题

要在标签中使用可点击元素(例如a标签),你必须改为使用div元素,而不是a元素,并设置相应的样式。

 

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Angular.js的作用域和数据绑定
    初识Angular.js通过初识Angular.js可以做一个简单的入门,下面开始做深入的了解吧。作用域作用域($scope)和应用的数据模型相关联的,同时作用域也是表达式执行的上下文。$scope对象是定义应用业务逻辑、控制器方法和视图属性的地方。 作用域是视图和控制器
    03-16
  • Angular 4 设置组件样式的几种方式
    Angular 4 设置组件样式的几种方式
      你用Angular吗?一.介绍  如何只改动最简单的css代码,呈现完全不一样的视图效果。第一种:最基本的设置:  图1 代码 图2 界面运行效果图平常,想给一个label或者p等标签添加样式,我们就是这样操作,在Angular中也是一样的。现在,如果我想要将字体换
    03-16
  • angularJSapi学习-angular.copy使用
    angular.copy使用效果:初始状态:输入信息后未保存状态:点击save后状态:当输入框内容和master内容不一致时:点击reset使得user的信息被重置为master中信息: 具体代码: 1 !DOCTYPE HTML 2 html ng-app="app" 3 headscript src="./angular.min.js"/script
    03-16
  • Ionic启动时提示:The Angular CLI requires a minimum Node.js version of eithor v10.13 or v12.0
    Ionic启动时提示:The Angular CLI requires a m
    在新建ionic项目后通过ionic serve 启动ionic项目时提示:The Angular CLI requires a minimum Node.js version of eithor v10.13 or v12.0  注:博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号霸道的程序猿获取编程相关电子书、教程推送与
    03-16
  • Angular.js之内置过滤器学习笔记 javascript过
    !DOCTYPE htmlhtml lang="en"headmeta charset="UTF-8"titleangularFilter/titlescript src="http://cdn.bootcss.com/angular.js/1.4.6/angular.js"/script/head  body ng-app="angularJS" ng-controller="ctrl"    div{{
    03-08
  • Angular 隨記
    Windows下更新Node 和NPM方法管理員模式打開powershell執行以下命令:Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Forcenpm install -g npm-windows-upgradenpm-windows-upgrade
    03-08
  • 双向数据绑定(angular,vue) 双向数据绑定指令
    最近github上插件项目更新了关于双向数据绑定的实现方式,关于angular和vue.angular众所周知是使用的脏检查($dirty)。一开始大家会认为angular开启了类似setInterval去不停的循环检查,性能极差,但其实并不是,$dirty是在一定条件下才会去执行,比如输入框
    03-08
  • 六、angular 生成二维码
    六、angular 生成二维码
    首先需要安装angular-qrcode :bower install monospaced/angular-qrcodenpm install angular-qrcode如何使用?在相应的需要使用二维码的页面增加如下代码:注意:这里的“version”和"size"可以根据github上面找出自己想要的结果:生成含有图片的二维码:这里
    03-08
  • angular.js简单入门。 angular入门教程
    angular.js简单入门。 angular入门教程
    小弟刚接触angular js  就写了一个简单的入门。后续慢慢补。。。首先看 html 页面。htmlmeta charset="UTF-8"headtitleangularJS/title/headscript type="text/javascript" src="./js/angular.min.js"/script      //引入 angularJSscript type="text/
    03-08
点击排行