Afficher et masquer
Tout dans Angular est basé sur les modifications apportées au modèle, et ces modifications sont reflétées sur l'interface via des identifiants.
ng-show et ng-hide peuvent faire la même chose. L'affichage et le masquage sont basés sur l'expression que vous leur transmettez, c'est-à-dire que lorsque l'expression est vraie, ng-show l'affiche, sinon il la cache. Lorsque l'expression est vraie, ng-hide est masqué, sinon il est affiché. Ces identifiants fonctionnent en stylisant l'élément avec display:block pour l'afficher et display:none pour le masquer.
Classes et styles CSS
La liaison des données est effectuée via une analyse {{}}, permettant de définir dynamiquement les classes et les styles.
ng-class et ng-style
Dans les grands projets, l'approche ci-dessus peut devenir ingérable, à tel point que vous devez lire à la fois les modèles et JavaScript pour créer correctement le CSS.
Angular fournit des identifiants de classe ng et de style ng. Chacun d’eux nécessite une expression. Le résultat de l’exécution de l’expression peut être l’un des suivants :
Ligne sélectionnée
Dans le modèle, nous définissons la valeur de ng-class sur {selected:$index==selectedRow} Lorsque le modèle appelle selectedRow, il correspondra au $index de ng-repeat et affichera le style sélectionné. De même, nous avons configuré ng-click pour indiquer au contrôleur sur quelle ligne l'utilisateur a cliqué.
suggestions src et href
Il est recommandé d'utiliser ng-src et ng-href.
<img ng-src="/img/01.png"> <a ng-href="www.segmentfault.com">segmentfault</a>
Tout le code source
<!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>