1、angularjs的表達式是可以寫在class里面動態改變其值的,寫法如下:
□、CSS1.html:
<!doctype html>
<html ng-app="MyCSSModule">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="CSS1.css">
</head>
<body>
<div ng-controller="CSSCtrl">
<p class="text-{{color}}">測試CSS樣式</p> //注意這里的class="text-{{color}}"這個class寫法,text-后面的angular表達式變量
<button class="btn btn-default" ng-click="setGreen()">綠色</button>
</div>
</body>
<script src="js/angular-1.3.0.js"></script>
<script src="CSS1.js"></script>
</html>
□、CSS1.css:
.text-red {
background-color: #ff0000;
}
.text-green {
background-color: #00ff00;
}
□、CSS1.js:
var myCSSModule = angular.module('MyCSSModule', []);
myCSSModule.controller('CSSCtrl', ['$scope',
function($scope) {
$scope.color = "red";
$scope.setGreen = function() { //定義一個setGreen()方法,點擊調用這個方法改變color的值,平談無奇就這么簡單
$scope.color = "green";
}
}
]);
2、上面的例子改造一下,用ng-class,寫法如下:
□、NgClass.html:
<!doctype html>
<html ng-app="MyCSSModule">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="NgClass.css">
</head>
<body>
<div ng-controller='HeaderController'>
<div ng-class='{error: isError, warning: isWarning}'>{{messageText}}</div> //注意ng-class='{error: isError, warning: isWarning}'的寫法,后面的表達式意為:
當isError為true時,調用error樣式類,當isWarning為true時,調用warning樣式類
<button ng-click='showError()'>Simulate Error</button>
<button ng-click='showWarning()'>Simulate Warning</button>
</div>
</body>
<script src="js/angular-1.3.0.js"></script>
<script src="NgClass.js"></script>
</html>
□、NgClass.css:
.error {
background-color: red;
}
.warning {
background-color: yellow;
}
□、NgClass.js:
var myCSSModule = angular.module('MyCSSModule', []);
myCSSModule.controller('HeaderController', ['$scope',
function($scope) {
$scope.isError = false;
$scope.isWarning = false; //兩個標記變量默認狀態下都為false
$scope.showError = function() { //控制器里面做的事就是給變量賦值,通過html中的ng-click來調用賦值的方法
$scope.messageText = 'This is an error!';
$scope.isError = true;
$scope.isWarning = false;
};
$scope.showWarning = function() {
$scope.messageText = 'Just a warning. Please carry on.';
$scope.isWarning = true;
$scope.isError = false;
};
}
])