首頁  >  文章  >  web前端  >  AngularJS實作元素顯示和隱藏的幾個案例_AngularJS

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

WBOY
WBOY原創
2016-05-16 15:27:001713瀏覽

案例一:控制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實現顯示和隱藏的三個案例,希望對大家的學習有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn