最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

AngularJS標(biāo)簽頁tab選項卡切換功能經(jīng)典實例詳解

 更新時間:2018年05月16日 15:12:23   作者:Mars-xq  
這篇文章主要介紹了AngularJS實現(xiàn)標(biāo)簽頁tab選項卡功能,結(jié)合實例形式總結(jié)分析了各種常用的tab選項卡切換操作實現(xiàn)技巧與相關(guān)操作注意事項,需要的朋友可以參考下

本文實例講述了AngularJS實現(xiàn)標(biāo)簽頁tab選項卡功能。分享給大家供大家參考,具體如下:

選項卡一:

JavaScript+html+css

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>m.fzitv.net js標(biāo)簽頁tab切換</title>
    <style>
      #div1 .active{
        background:blue;
      }
      #div1 div{
        width:200px;
        height:200px;
        background:gray;
        border:1px solid black;
        display:none;
      }
    </style>
    <script>
      window.onload=function (){
        var oDiv=document.getElementById('div1');
        var aBtn=oDiv.getElementsByTagName('input');
        var aDiv=oDiv.getElementsByTagName('div');
        for(var i=0;i<aBtn.length;i++){     //遍歷div1中的按鈕
          aBtn[i].index=i;      //給aBth[]添加自定義屬性
          aBtn[i].onclick=function (){
            for(var i=0;i<aBtn.length;i++){ //遍歷按鈕,將class清除
              aBtn[i].className='';
              aDiv[i].style.display='none';
            }
            this.className='active';
            aDiv[this.index].style.display='block';
          }
        }
      }
    </script>
  </head>
  <body>
    <div id="div1">
      <input class="active" type="button" value="選項1" />
      <input type="button" value="選項2" />
      <input type="button" value="選項3" />
      <input type="button" value="選項4" />
      <div style="display:block;">111</div>
      <div>222</div>
      <div>333</div>
      <div>444</div>
    </div>
  </body>
</html>

運行效果(直接在http://tools.jb51.net/code/HtmlJsRun上測試運行):

選項卡二:

angularjs指令:

ng-class、ng-click、ng-if

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>m.fzitv.net AngularJS標(biāo)簽頁tab切換</title>
  <style>
    .active {
      background-color: orange;
    }
  </style>
  <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body ng-app="s1.app">
<div>
  <button ng-class="{ 'active' : data.current == 1 }" ng-click="actions.setCurrent(1)">張三</button>
  <button ng-class="{ 'active' : data.current == 2 }" ng-click="actions.setCurrent(2)">李四</button>
  <button ng-class="{ 'active' : data.current == 3 }" ng-click="actions.setCurrent(3)">王五</button>
</div>
<div>
  <div ng-if="data.current == 1">張三的個人信息</div>
  <div ng-if="data.current == 2">李四的個人信息</div>
  <div ng-if="data.current == 3">王五的個人信息</div>
  <script>
    var app = angular.module('s1.app', []);
    app.run(function ($rootScope) {
      $rootScope.data = {
        current: "1" // 1代表張三,2代表李四,3代表王五
      };
      $rootScope.actions =
      {
        setCurrent: function (param) {
          $rootScope.data.current = param;
        }
      }
    })
  </script>
</div>
</body>
</html>

運行效果(直接在http://tools.jb51.net/code/HtmlJsRun上測試運行):

選項卡三:

angularjs 指令:

ng-class、ng-click、ng-show

<!DOCTYPE html>
<html ng-app="myApp">
<head lang="en">
  <meta charset="UTF-8">
  <title>m.fzitv.net AngularJS標(biāo)簽頁tab切換</title>
  <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<section ng-controller="myCtrl as panel">
  <ul>
    <li ng-class="{active:panel.isSelected(1)}">
      <a href ng-click="panel.selectTab(1)">1111111111</a>
    </li>
    <li ng-class="{active:panel.isSelected(2)}">
      <a href ng-click="panel.selectTab(2)">2222222222</a>
    </li>
    <li ng-class="{active:panel.isSelected(3)}">
      <a href ng-click="panel.selectTab(3)">33333333333</a>
    </li>
  </ul>
  <!--是否點擊-->
  {{panel.isSelected(1)}}
  {{panel.isSelected(2)}}
  {{panel.isSelected(3)}}
  <div class="panel" ng-show="panel.isSelected(1)">
    <h1>我是1111111111111111111111</h1>
  </div>
  <div class="panel" ng-show="panel.isSelected(2)">
    <h1>我是22222222222222222</h1>
  </div>
  <div class="panel" ng-show="panel.isSelected(3)">
    <h1>我是3333333333333333333333</h1>
  </div>
</section>
<script>
  var app = angular.module("myApp", []);
  app.controller("myCtrl", function () {
    this.tab = 2;/*設(shè)置默認(rèn)*/
    this.selectTab = function (setTab) {/*設(shè)置tab點擊事件*/
      this.tab = setTab;
    };
    this.isSelected = function (checkedTab) {/*頁面的切換*/
      return this.tab === checkedTab;
    }
  });
</script>
</body>
</html>

運行效果(直接在http://tools.jb51.net/code/HtmlJsRun上測試運行):

選項卡四:

angularjs 指令

第二種和第三種方式來源于下面代碼的改進(jìn),產(chǎn)生的效果都是一樣的。

<!DOCTYPE html>
<html ng-app="myApp">
<head lang="en">
  <meta charset="UTF-8">
  <title>m.fzitv.net AngularJS標(biāo)簽頁tab切換</title>
  <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<section ng-init="tab=3">
  <ul>
    <li ng-class="{active:tab===1}">
      <a href ng-click="tab=1">1111111111</a>
    </li>
    <li ng-class="{active:tab===2}">
      <a href ng-click="tab=2">2222222222</a>
    </li>
    <li ng-class="{active:tab===3}">
      <a href ng-click="tab=3">33333333333</a>
    </li>
  </ul>
  <!--是否點擊-->
  {{tab===1}}
  {{tab===2}}
  {{tab===3}}
  <div class="panel" ng-show="tab===1">
    <h1>我是1111111111111111111111</h1>
  </div>
  <div class="panel" ng-show="tab===2">
    <h1>我是22222222222222222</h1>
  </div>
  <div class="panel" ng-if="tab===3">
    <h1>我是3333333333333333333333</h1>
  </div>
</section>
<script>
  var app = angular.module("myApp", []);
  app.controller("myCtrl", function () {
  });
</script>
</body>
</html>

運行效果(直接在http://tools.jb51.net/code/HtmlJsRun上測試運行):

但ng-show和ng-if是有區(qū)別的

第一點區(qū)別是,

ng-if 在后面表達(dá)式為 true 的時候才創(chuàng)建這個 dom 節(jié)點,
ng-show 是初始時就創(chuàng)建了,用display:blockdisplay:none 來控制顯示和不顯示。

第二點區(qū)別是,

ng-if 會(隱式地)產(chǎn)生新作用域,ng-switch 、 ng-include 等會動態(tài)創(chuàng)建一塊界面的也是如此。

這樣會導(dǎo)致,在 ng-if 中用基本變量綁定 ng-model,并在外層 div 中把此 model 綁定給另一個顯示區(qū)域,內(nèi)層改變時,外層不會同步改變,因為此時已經(jīng)是兩個變量了。

<p>{{name}}</p>
<div ng-if="true">
  <input type="text" ng-model="name">
</div>

ng-show 不存在此問題,因為它不自帶一級作用域。

避免這類問題出現(xiàn)的辦法是,始終將頁面中的元素綁定到對象的屬性(data.x)而不是直接綁定到基本變量(x)上。AngularJS中的作用域

參考:

AngularJS 常見面試問題

優(yōu)酷視頻:AngularJS 入門教程(2.2):學(xué)做標(biāo)簽頁

更多關(guān)于AngularJS相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《AngularJS指令操作技巧總結(jié)》、《AngularJS入門與進(jìn)階教程》及《AngularJS MVC架構(gòu)總結(jié)

希望本文所述對大家AngularJS程序設(shè)計有所幫助。

相關(guān)文章

  • 在Angular中使用innerHTML屬性綁定的方法

    在Angular中使用innerHTML屬性綁定的方法

    Angular 2+ 支持使用 [innerHTML] 屬性綁定來渲染 HTML,如果你使用插值,它會被視為字符串,本文將介紹如何使用 [innerHTML] 以及一些注意事項,需要的朋友可以參考下
    2024-02-02
  • Angular服務(wù)Request異步請求的實例講解

    Angular服務(wù)Request異步請求的實例講解

    今天小編就為大家分享一篇Angular服務(wù)Request異步請求的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Angular項目中使用scss文件的一些技巧小結(jié)

    Angular項目中使用scss文件的一些技巧小結(jié)

    SCSS是Sass 3引入新的語法,其語法完全兼容 CSS3,并且繼承了Sass的強(qiáng)大功能,下面這篇文章主要給大家介紹了關(guān)于Angular項目中使用scss文件的一些技巧的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Angular.js中用ng-repeat-start實現(xiàn)自定義顯示

    Angular.js中用ng-repeat-start實現(xiàn)自定義顯示

    大家都知道Angular.js可以用ng-repeat來顯示列表數(shù)據(jù),可是如果想要自定義顯示數(shù)據(jù)列表的話ng-repeat就實現(xiàn)不了了,這個時候可以利用ng-repeat-start 和 ng-repeat-end來實現(xiàn),下面通過本文來詳細(xì)看看實現(xiàn)的方法吧。
    2016-10-10
  • 關(guān)于AngularJs數(shù)據(jù)的本地存儲詳解

    關(guān)于AngularJs數(shù)據(jù)的本地存儲詳解

    本文主要介紹了每一個獨立的JS文件或者不同的控制器如何實現(xiàn)數(shù)據(jù)的共享與交互的方法。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 一篇文章快速了解Angular和Ionic生命周期和鉤子函數(shù)

    一篇文章快速了解Angular和Ionic生命周期和鉤子函數(shù)

    Ionic以AngularJS和ApacheCordova為基礎(chǔ),使用Node.js進(jìn)行模塊管理,使用Html5、Css(SASS)和Javascript技術(shù)進(jìn)行APP開發(fā),這篇文章主要給大家介紹了如何通過一篇文章快速了解Angular和Ionic生命周期和鉤子函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • Angularjs 根據(jù)一個select的值去設(shè)置另一個select的值方法

    Angularjs 根據(jù)一個select的值去設(shè)置另一個select的值方法

    今天小編就為大家分享一篇Angularjs 根據(jù)一個select的值去設(shè)置另一個select的值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • AngularJS路由切換實現(xiàn)方法分析

    AngularJS路由切換實現(xiàn)方法分析

    這篇文章主要介紹了AngularJS路由切換實現(xiàn)方法,結(jié)合具體實例形式分析了AngularJS路由切換的實現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-03-03
  • angular6.0使用教程之父組件通過url傳遞id給子組件的方法

    angular6.0使用教程之父組件通過url傳遞id給子組件的方法

    這篇文章主要介紹了angular6.0使用教程之父組件通過url傳遞id給子組件的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • 自學(xué)實現(xiàn)angularjs依賴注入

    自學(xué)實現(xiàn)angularjs依賴注入

    這篇文章主要為大家詳細(xì)介紹了angularjs依賴注入的自己成果,如何實現(xiàn)angularjs依賴注入,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評論

新民市| 孟津县| 黄骅市| 彭泽县| 黄大仙区| 万宁市| 陈巴尔虎旗| 商河县| 依安县| 永丰县| 玉溪市| 六盘水市| 宣武区| 兴隆县| 太仆寺旗| 攀枝花市| 扎囊县| 石河子市| 克东县| 通山县| 桐乡市| 沁源县| 阆中市| 临汾市| 黄陵县| 石狮市| 西城区| 偃师市| 黄梅县| 晋中市| 钦州市| 图木舒克市| 都昌县| 武胜县| 名山县| 铜梁县| 措勤县| 宁晋县| 弋阳县| 阜平县| 沧州市|