ng-class 指令的使用和介绍
来源:互联网 发布:下载ehshig软件 编辑:程序博客网 时间:2024/06/16 15:38
定义和用法
ng-class 指令用于给 HTML 元素动态绑定一个或多个 CSS 类。
ng-class
指令的值可以是字符串,对象,或一个数组。
如果是字符串,多个类名使用空格分隔。
如果是对象,需要使用 key-value 对,key 为你想要添加的类名,value 是一个布尔值。只有在 value 为 true 时类才会被添加。
如果是数组,可以由字符串或对象组合组成,数组的元素可以是字符串或对象。
在前面Angularjs开发一些经验总结中我们说到在angular开发中angular controller never 包含DOM元素(html/css),在controller需要一个简单的POJO(plain object javascript object),与view完全的隔离(交互angularjs框架的职责。但在某些项目中看见controller涉及DOM的元素最多的是在controller scope上定义某变量,其值为class name,形如:
function ctr($scope){ $scope.test =“classname”;}<div class=”{{test}}”></div>
这种方式完全没错,是angular提供的一种改变class的方式,但是在controller涉及了classname在我看来是乎总是那么诡异,我希望的是controller是一个干净的纯javascript意义的object。
在angular中为我们提供了3种方案处理class:
1:scope变量绑定,如上例。(不推荐使用)
2:字符串数组形式。
3:对象key/value处理。
我们继续其他两种解决方案:
1字符串数组形式是针对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。
2对象key/value处理主要针对复杂的class混合,其形如:
function Ctr($scope) { }<div ng-class {'selected': isSelected, 'car': isCar}"></div>
当 isSelected = true 则增加selected class,
当isCar=true,则增加car class,
所以你结果可能是4种组合。
个人推荐用2,3两种方式,不建议将class放入controller scope之上,scope需要保持纯洁行,scope上的只能是数据和行为。
- ng-class 指令的使用和介绍
- ng-class的使用
- angularjs-ng-class指令
- ng-if、ng-show和ng-hide指令的区别
- AngularJS中关于ng-class和*ngIf指令
- @class指令的使用
- angularJS中ng-class指令的三种实现方式
- angularJS中ng-class指令的三种实现方式
- 使用了ng-repeat 后的样式显示 ng-class 、ng-hide ng-show ng-if ng-style
- AngularJs-ng-app -ng-model-ng-bind指令讲解和使用
- (四下)ng-class指令,ng-style指令,ng-show/ng-hide指令,ng-if指令等....
- AngularJS中ng-class和class的区别
- (十四)ng-if与ng-show、ng-hide指令的区别和注意事项
- ng的一些指令
- ng-mouseenter和ng-mouseleave指令
- ng-model指令使用场景
- angular [ng-class和ng-model]配对使用,切换背景颜色
- ng-show和ng-if的区别和使用场景
- .NET Core 2.0 正式发布
- 在使用eCharts时 犯的一个认识上的low点
- iOS 打包ipa 发布到蒲公英给测试人员用
- 设计模式之工厂模式
- Android 中 Java 和 JavaScript 相互调用
- ng-class 指令的使用和介绍
- lua编译
- OpenSSL中文手册之PEM库详解
- 七大查找算法
- 最大熵学习笔记(二)最大熵原理
- 为什么要使用BIOS?
- 导出vertica数据库表结构
- java内部类 学习笔记
- DEFAULT_THREAD_STACKSIZE影响其它任务运行