AngularJS實現元素顯示和隱藏的幾個案例_AngularJS

來源:互聯網
上載者:User

案例一:控制html元素顯示和隱藏有n種方法:html的hidden、css的display、jquery的hide()和show()、bootstrap的.hide。今天的重點不是顯示和隱藏,而是監聽某個布爾變數值,自動改變元素顯示和隱藏狀態。監聽函數、if判斷、選擇dom、設定dom,5行代碼搞不定吧,而且毫無技術含量。
看代碼:

<!DOCTYPE html><html ng-app><head> <meta charset="utf-8"> <title>ng-show and ng-hide directives</title></head><body><div ng-controller="VisibleController"> <p ng-show="visible">字串1</p> <p ng-hide="visible">字串2</p> <button ng-click="toggle()">切換</button></div> <script src="../lib/angularjs/1.2.26/angular.min.js"></script><script> function VisibleController($scope) { $scope.visible = false; $scope.toggle = function () {  $scope.visible = !$scope.visible; } }</script></body></html>

案例二:對於菜單、上下文敏感的工具以及很多其他情況來說,顯示和隱藏元素是一項核心的功能。與Angualr中其他功能一樣,Angular是通過修改資料模型的方式來驅動UI重新整理,然後通過指令把變更反應到UI上。
ng-show和ng-hide這兩條指令的功能是等價的,但是運行效果正好相反,我們都可以根據所傳遞的運算式來顯示或隱藏元素。也就是說,ng-show在運算式為true時將會顯示元素,為false時將會隱藏元素;而ng-hide則恰好相反。
這兩條指令的工作原理是:根據實際情況把元素的樣式設定為display:block來顯示元素;設定為display:none來隱藏元素。
執行個體:

<html ng-app='myApp'><head><title>ng-show執行個體</title></head><body ng-controller='ShowController'><button ng-click="toggleMenu()">Toggle Menu</button><ul ng-show='menuState.show'><li>Stun</li><li>Disintegrate</li><li>Erase from history</li></ul><script src="lib/angular/angular.js"></script><script>var myApp=angular.module('myApp',[]) myApp.controller('ShowController', function($scope) {$scope.menuState={show: false}$scope.toggleMenu=function() {$scope.menuState.show=!$scope.menuState.show;}});</script></body></html>

運行結果:


點擊“Toggle Menu”按鈕,效果如下:

再次點擊“Toggle Menu”按鈕,下面的資訊又隱藏了,交替變換。

案例三:

<!DOCTYPE html><html ng-app="a2_12"> <head>  <meta charset="utf-8">  <title></title>  <script type="text/javascript" src="../js/angularJs-1.2.16-min.js"></script>  <style type="text/css">   body{    font-size: 12px;   }   ul{    list-style-type: none;    width: 408px;    margin: 0px;    padding: 0px;   }   div{    margin: 8px 0px;   }  </style> </head> <body>  <div ng-controller="c2_12">   <div ng-show="{{isShow}}">指令碼</div>   <div ng-hide="{{isHide}}">1012@qq.con</div>   <ul ng-switch on={{switch}}>    <li ng-switch-when="1">11111111111111111</li>    <li ng-switch-when="2">22222222222222222</li>    <li ng-switch-default>33333333333333333</li>   </ul>  </div>  <script type="text/javascript">   var a2_12 = angular.module('a2_12', []);   a2_12.controller('c2_12', ['$scope', function($scope) {    $scope.isShow=true;    $scope.isHide=false;    $scope.switch=2;   }]);  </script> </body></html>

ng-switch指令的功能是顯示匹配成功的元素,該指令需要結合ng-switch-when和ng-switch-default指令使用。

當指定的on值與某個或多個添加ng-switch-when指令的元素匹配時,這些元素顯示,未匹配到的元素的隱藏。

如果沒有找到與on值相匹配的元素時,則顯示添加了ng-switch-default指令的元素。

以上就是為大家分享的三個AngularJS實現顯示和隱藏的三個案例,希望對大家的學習有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.