這篇文章主要介紹了AngularJS的一些基本樣式初窺,AngularJS是一款高人氣JavaScript框架,需要的朋友可以參考下
顯示和隱藏
在 Angular 中的一切,都是基于模型的改變,進而通過標識符反映這些變化到界面上。
ng-show 和 ng-hide 可以做相同的事情。顯示和隱藏是基于你傳遞給他們的表達式而定,即,當表達式為 true 時,ng-show 就顯示,反之隱藏。當表達式為 true 時,ng-hide 就隱藏,反之顯示。這些標識符是通過設置元素的樣式 display:block 顯示和 display:none 隱藏進行工作的。
CSS類和樣式
通過 {{}} 解析來進行數據綁定,從而能夠動態地設置類和樣式。
ng-class 和 ng-style
在大型項目中,上面的方式會使得難以管理,以至于不得不同時閱讀模版和 JavaScript 才能正確地創建 css 。
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>
新聞熱點
疑難解答
圖片精選