AngularJS的一些基本樣式初窺
顯示和隱藏
在 Angular 中的一切,都是基于模型的改變,進(jìn)而通過標(biāo)識符反映這些變化到界面上。
ng-show 和 ng-hide 可以做相同的事情。顯示和隱藏是基于你傳遞給他們的表達(dá)式而定,即,當(dāng)表達(dá)式為 true 時,ng-show 就顯示,反之隱藏。當(dāng)表達(dá)式為 true 時,ng-hide 就隱藏,反之顯示。這些標(biāo)識符是通過設(shè)置元素的樣式 display:block 顯示和 display:none 隱藏進(jìn)行工作的。
CSS類和樣式
通過 {{}} 解析來進(jìn)行數(shù)據(jù)綁定,從而能夠動態(tài)地設(shè)置類和樣式。
ng-class 和 ng-style
在大型項(xiàng)目中,上面的方式會使得難以管理,以至于不得不同時閱讀模版和 JavaScript 才能正確地創(chuàng)建 css 。
Angular 提供了 ng-class 和 ng-style 標(biāo)識符。他們每一個都需要一個表達(dá)式。表達(dá)式執(zhí)行的結(jié)果可能是下列之一:
- 一個字符串,表示空間隔開的類名。
- 一個類名數(shù)組
- 一個類名到布爾值的映射
選中的行
模版中,我們設(shè)置 ng-class 的值為 {selected:$index==selectedRow},當(dāng)模型調(diào)用selectedRow 時將匹配 ng-repeat 的 $index,進(jìn)而顯示選中的樣式。同樣我們設(shè)置 ng-click 來通知控制器用戶點(diǎn)了哪一行。
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>
相關(guān)文章
Angularjs實(shí)現(xiàn)下拉框聯(lián)動的示例代碼
本篇文章主要介紹了Angularjs下拉框聯(lián)動的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
AngularJS 購物車全選/取消全選功能的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄狝ngularJS 購物車全選/取消全選功能的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
詳解如何使用webpack+es6開發(fā)angular1.x
本篇文章主要介紹了詳解如何使用webpack+es6開發(fā)angular1.x,具有一定的參考價值,有興趣的可以了解一下2017-08-08
Angular.js之作用域scope''@'',''='',''&''實(shí)例詳解
這篇文章主要介紹了Angular.js之作用域scope'@','=','&'實(shí)例詳解,需要的朋友可以參考下2017-02-02
詳解AngularJS中module模塊的導(dǎo)入導(dǎo)出
本文給大家介紹angularjs中module模塊的導(dǎo)入導(dǎo)出,涉及到angularjs module相關(guān)知識,對angularjs module感興趣的朋友一起看看吧2015-12-12
使用ngView配合AngularJS應(yīng)用實(shí)現(xiàn)動畫效果的方法
這篇文章主要介紹了使用ngView配合AngularJS應(yīng)用實(shí)現(xiàn)動畫效果的方法,AngularJS是十分熱門的JavaScript庫,需要的朋友可以參考下2015-06-06
AngularJS監(jiān)聽ng-repeat渲染完成的兩種方法
這篇文章主要介紹了AngularJS監(jiān)聽ng-repeat渲染完成的兩種方法,結(jié)合實(shí)例形式分析了AngularJS基于自定義指令及廣播事件實(shí)現(xiàn)監(jiān)聽功能的相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
深入理解node exports和module.exports區(qū)別
下面小編就為大家?guī)硪黄钊肜斫鈔ode exports和module.exports區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06

