css:
.text-red {
background-color: #ff0000;
}
.text-green {
background-color: #00ff00;
}
html:
<div ng-controller="CSSCtrl">
<p class="text- {{color}}">测试CSS样式</p><button class="btn btn-default" ng-click="setGreen()">绿色</button>
</div>
js:
var myCSSModule = angular.module('MyCSSModule', []);
myCSSModule.controller('CSSCtrl', ['$scope',
function($scope) {
$scope.color = "red";
$scope.setGreen = function() {
$scope.color = "green";
}
}
])
上例比较简单,若是在大型项目中可能发生取值出错的情况造成奇怪的显示,因此使用ng-class
css:
.error {
background-color: red;
}
.warning {
background-color: yellow;
}
html:
<div ng-controller='HeaderController'>
<div ng-class='{error: isError, warning: isWarning}'>{{messageText}}</div>
<button ng-click='showError()'>Simulate Error</button>
<button ng-click='showWarning()'>Simulate Warning</button>
</div>
js:
var myCSSModule = angular.module('MyCSSModule', []);
myCSSModule.controller('HeaderController', ['$scope',
function($scope) {
$scope.isError = false;
$scope.isWarning = false;
$scope.showError = function() {
$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;
};
}
])