표시 및 숨기기
Angular의 모든 것은 모델의 변경을 기반으로 하며 이러한 변경은 식별자를 통해 인터페이스에 반영됩니다.
ng-show와 ng-hide는 동일한 작업을 수행할 수 있습니다. 표시 및 숨기기는 전달된 표현식을 기반으로 합니다. 즉, 표현식이 true이면 ng-show는 이를 표시하고, 그렇지 않으면 숨깁니다. 표현식이 true이면 ng-hide가 숨겨지고, 그렇지 않으면 표시됩니다. 이러한 식별자는 요소를 표시하려면 display:block으로, 숨기려면 display:none으로 스타일을 지정하여 작동합니다.
CSS 클래스 및 스타일
데이터 바인딩은 {{}} 구문 분석을 통해 수행되므로 클래스와 스타일을 동적으로 설정할 수 있습니다.
ng급 및 ng스타일
대규모 프로젝트에서는 위의 접근 방식이 관리하기 어려울 수 있으므로 CSS를 올바르게 생성하려면 템플릿과 JavaScript를 모두 읽어야 합니다.
Angular는 ng-class 및 ng-style 식별자를 제공합니다. 각각 표현이 필요합니다. 표현식 실행 결과는 다음 중 하나일 수 있습니다.
선택한 행
템플릿에서 ng-class의 값을 {selected:$index==selectedRow}로 설정했습니다. 모델이 selectedRow를 호출하면 ng-repeat의 $index와 일치하여 선택한 스타일을 표시합니다. 마찬가지로 사용자가 클릭한 행을 컨트롤러에 알리기 위해 ng-click을 설정했습니다.
src 및 href 제안
ng-src와 ng-href를 사용하는 것이 좋습니다.
<img ng-src="/img/01.png"> <a ng-href="www.segmentfault.com">segmentfault</a>
모든 소스코드
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>angular demo</title> <script src="http://cdn.bootcss.com/angular.js/1.3.0-beta.8/angular.min.js"></script> </head> <body> <div id="App1" ng-app="shoppingCart" ng-controller="ShoppingCartController"> <h1>Your demo</h1> <!-- demo 1 --> <div ng-show='menuState.show'>another another another</div> <button ng-click="test2()">切换</button> <hr><!-- demo 2 --> <style type="text/css"> .menu-disabled-true{ opacity:1; color: red; -webkit-transition:all 1000ms linear; -moz-transition:all 1000ms linear; -o-transition:all 1000ms linear; } .menu-disabled-false{ opacity: 0; -webkit-transition:all 1000ms linear; -moz-transition:all 1000ms linear; -o-transition:all 1000ms linear; } </style> <div class="menu-disabled-{{isDisabled}}">adfadfadasda</div> <button ng-click="test()">隐藏</button> <button ng-click="test1()">显示</button> <button ng-click="test11()">切换</button> <hr><!-- demo 3 --> <style type="text/css"> .error { background-color: red; } .warning { background-color: yellow; } </style> <div ng-class='{error:isError, warning:isWarning}'>{{messageText}}</div> <button ng-click="showError()">error</button> <button ng-click="showWarning()">warning</button> <hr><!-- demo 4 --> <style type="text/css"> .selected{ background-color: lightgreen; } </style> <div ng-repeat="item in items" ng-class='{selected:$index==selectedRow}' ng-click='selectedWhich($index)'> <span>{{item.product_name}}</span> <span>{{item.price | currency}}</span> </div> </div> <script> var shoppingCartModule = angular.module("shoppingCart", []) shoppingCartModule.controller("ShoppingCartController", function ($scope) { // demo 1 $scope.menuState = {'show':true}; $scope.test2 = function () { $scope.menuState.show = !$scope.menuState.show; }; // demo 2 $scope.isDisabled = true; $scope.test = function () { $scope.isDisabled = 'false'; }; $scope.test1 = function () { $scope.isDisabled = 'true'; }; $scope.test11 = function () { $scope.isDisabled = !$scope.isDisabled; }; // demo 3 $scope.isError = false; $scope.isWarning = false; $scope.messageText = 'default, default'; $scope.showError = function () { $scope.messageText = 'This is an error'; $scope.isError = true; $scope.isWarning = false; }; $scope.showWarning = function () { $scope.messageText = 'Just a warning, donot warry'; $scope.isWarning = true; $scope.isError = false; }; // demo 4 $scope.items = [ { product_name: "Product 1", price: 50 }, { product_name: "Product 2", price: 20 }, { product_name: "Product 3", price: 180 } ]; $scope.selectedWhich = function (row) { $scope.selectedRow = row; } } ); </script> </body> </html>