angularjs-ng-class指令

本文转自:http://www.cnblogs.com/whitewolf/archive/2013/05/22/3092184.html
angularjs提供了3种方案处理class
1:scope变量绑定。(不推荐使用,本文不讨论)
2:字符串数组形式。
3:对象key/value处理。

字符串数组形式:
字符串数组形式是针对class简单变化,具有排斥性的变化,true是什么class,false是什么class,其形如;

function Ctr($scope) { 
    $scope.isActive = true;
}

<div ng-class="{true: 'active', false: 'inactive'}[isActive]">
</div>

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

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

function Ctr($scope) { 

}

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

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

顺便说一下不使用第一种方案的理由:不建议将class放入controller scope之上,scope需要保持纯洁行,scope上的只能是数据和行为。

原文链接:http://www.cnblogs.com/whitewolf/archive/2013/05/22/3092184.html
作者:破 狼
出处:http://www.cnblogs.com/whitewolf/
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。该文章也同时发布在我的独立博客中-个人独立博客、博客园–破狼和51CTO–破狼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章