ngClass
是 AngularJS 預(yù)設(shè)的一個(gè)指令,用于動(dòng)態(tài)自定義dom元素的css類。這里是官網(wǎng)給出的使用指南AngularJS:ngClass
ngClass
在實(shí)際的應(yīng)用場(chǎng)景中還是比較靈活的,而在 AngularJS 中一般會(huì)有三種方式給元素的css class屬性做一些門道。
<div class="{{className}}"></div>
function ctrl($scope) {
$scope.className = 'test-className';
}
說明
這種方式完全沒有錯(cuò),是AngularJS提供的一種改變class的方式,但是這種方式在controller
中涉及了classname的賦值。在我看來似乎有點(diǎn)詭異。我希望的是controller
是一個(gè)干凈的純凈的javascript
意義上的object
。
<div ng-class="{true: 'active', false: 'inactive'}[isActive]"></div>
function ctrl($scope) {
$scope.isActive = true;
}
說明
其結(jié)果可能會(huì)是2種情況,isActive
表達(dá)式為true
則會(huì)給<div></div>
附加active
樣式,否則會(huì)附加inactive
樣式。
<div ng-class="{'selected': isSelected, 'car': isCar}"></div>
function ctrl($scope) {
$scope.selected = true;
$scope.isCar = false;
}
說明
當(dāng)isSelect
為真值時(shí)增加slected
樣式,若isCar
為真值,則再增加car
樣式。
更多建議: