ng-class细说 by破狼

Posted Miss.xu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ng-class细说 by破狼相关的知识,希望对你有一定的参考价值。

在angular中为我们提供了3种方案处理class:
1:scope变量绑定,如上例。(不推荐使用)
2:字符串数组形式。
3:对象key/value处理。

我们继续其他两种解决方案:
1字符串数组形式是针对class简单变化,具有排斥性的变化,true是什么class,false是什么class,其形如;

1 function Ctr($scope) { 
2     $scope.isActive = true;
3 }
4 
5 <div ng-class="{true: ‘active‘, false: ‘inactive‘}[isActive]">
6 </div>

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

2对象key/value处理主要针对复杂的class混合,其形如:

1 function Ctr($scope) { 
2 
3 }
4 
5 <div ng-class {‘selected‘: isSelected, ‘car‘: isCar}">
6 </div>

当 isSelected = true 则增加selected class,
当isCar=true,则增加car class,
所以你结果可能是4种组合。

个人推荐用2,3两种方式,不建议将class放入controller scope之上,scope需要保持纯洁行,scope上的只能是数据和行为。

以上是关于ng-class细说 by破狼的主要内容,如果未能解决你的问题,请参考以下文章

[RxJS] Implement RxJS `switchMap` by Canceling Inner Subscriptions as Values are Passed Through(代码片段

Flutter 报错 DioError [DioErrorType.DEFAULT]: Bad state: Insecure HTTP is not allowed by platform(代码片段

Error: Python executable “H:devpython3.10python.EXE“ is v3.10.0, which is not supported by gyp.(代码片段

如何使用 ng-class 更改背景颜色?

CSS 过渡不适用于 ng-class

ng-class的问题(已解决,未找到真正的原因)