AngularJS ng-class 的用法

ng-class是AngularJS预设的一个指令,用于动态自定义dom元素的css class name,下面是其官网的api doc, AngularJS:ngClass

ng-class在实际的应用场景中还是比较灵活的,而在AngularJS中一般有三种方式给元素的class属性做一些门道,如下

1:scope变量绑定,如上例。(不推荐使用)
2:字符串数组形式。
3:对象key/value处理。

1、scope变量绑定(不推荐使用)

function ctr($scope){
   $scope.test =“classname”;
}<div class=”{{test}}”></div>

说明

这种方式完全没错,是angular提供的一种改变class的方式,但是在controller涉及了classname在我看来是乎总是那么诡异,我希望的是controller是一个干净的纯javascript意义的object。

2、字符串数组形式

function Ctr($scope) { 
    $scope.isActive = true;
}<div ng-class="{true: 'active', false: 'inactive'}[isActive]">
</div>

说明

其结果是2中组合,isActive表达式为true,则 active,否则inactive。

3、对象key/value处理

function Ctr($scope) { 

}<div ng-class={'selected': isSelected, 'car': isCar}">
</div>

说明

当 isSelected = true 则增加selected class,当isCar=true,则增加car class。以此类推。


参考

  1. http://docs.angularjs.org/api/ng.directive:ngClass

  2. http://www.cnblogs.com/whitewolf/archive/2013/05/22/3092184.html

  3. http://my.oschina.net/gejiawen0913/blog/188547


你可能感兴趣的:(AngularJS ng-class 的用法)