AngularJS實現(xiàn)元素顯示和隱藏的幾個案例
案例一:控制html元素顯示和隱藏有n種方法:html的hidden、css的display、jquery的hide()和show()、bootstrap的.hide。今天的重點不是顯示和隱藏,而是監(jiān)聽某個布爾變量值,自動改變元素顯示和隱藏狀態(tài)。監(jiān)聽函數(shù)、if判斷、選擇dom、設(shè)置dom,5行代碼搞不定吧,而且毫無技術(shù)含量。
看代碼:
<!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是通過修改數(shù)據(jù)模型的方式來驅(qū)動UI刷新,然后通過指令把變更反應(yīng)到UI上。
ng-show和ng-hide這兩條指令的功能是等價的,但是運行效果正好相反,我們都可以根據(jù)所傳遞的表達式來顯示或隱藏元素。也就是說,ng-show在表達式為true時將會顯示元素,為false時將會隱藏元素;而ng-hide則恰好相反。
這兩條指令的工作原理是:根據(jù)實際情況把元素的樣式設(shè)置為display:block來顯示元素;設(shè)置為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>
運行結(jié)果:

點擊“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指令的功能是顯示匹配成功的元素,該指令需要結(jié)合ng-switch-when和ng-switch-default指令使用。
當(dāng)指定的on值與某個或多個添加ng-switch-when指令的元素匹配時,這些元素顯示,未匹配到的元素的隱藏。
如果沒有找到與on值相匹配的元素時,則顯示添加了ng-switch-default指令的元素。
以上就是為大家分享的三個AngularJS實現(xiàn)顯示和隱藏的三個案例,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
angularJS實現(xiàn)表格部分列展開縮起示例代碼
這篇文章主要介紹了angularJS實現(xiàn)表格部分列展開縮起示例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09
Angular異步執(zhí)行學(xué)習(xí)之zone.js使用
這篇文章主要為大家介紹了Angular異步執(zhí)行學(xué)習(xí)之zone.js使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
angular 未登錄狀態(tài)攔截路由跳轉(zhuǎn)的方法
今天小編就為大家分享一篇angular 未登錄狀態(tài)攔截路由跳轉(zhuǎn)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
Angular2使用Guard和Resolve進行驗證和權(quán)限控制
本篇文章主要介紹了Angular2使用Guard和Resolve進行驗證和權(quán)限控制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04

