ケース 1: HTML 要素の表示と非表示を制御するには、html の hidden、css の表示、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>
ケース 2: 要素の表示と非表示は、メニュー、コンテキスト依存ツール、その他多くの状況にとって中心的な機能です。 Angularr の他の機能と同様に、Angular はデータ モデルを変更することで UI を更新し、指示を通じてその変更を UI に反映します。
ng-show と ng-hide の 2 つの命令の機能は同等ですが、操作上の効果はどちらも、渡された式に基づいて要素を表示または非表示にすることができます。つまり、ng-show は式が true の場合に要素を表示し、false の場合に要素を非表示にしますが、ng-hide はその逆です。
これら 2 つの命令の動作原理は、要素のスタイルを 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>
実行結果:
「メニューの切り替え」ボタンをクリックすると、次のような効果が得られます:
「メニュー切り替え」ボタンをもう一度クリックすると、以下の情報が再び非表示になり、交互に切り替わります。
ケース 3:
<!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 ディレクティブが追加された 1 つ以上の要素と一致する場合、これらの要素が表示され、一致しない要素は非表示になります。
on の値に一致する要素が見つからない場合は、ng-switch-default ディレクティブが追加された要素が表示されます。
上記は AngularJS での表示と非表示の 3 つのケースです。あなたの学習に役立つことを願っています。