博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ng-class
阅读量:6203 次
发布时间:2019-06-21

本文共 932 字,大约阅读时间需要 3 分钟。

 在前面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”;}

这种方式完全没错,是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;}

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

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

function Ctr($scope) { }

 

当 isSelected = true 则增加selected class,

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

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

转载于:https://www.cnblogs.com/crazycode2/p/6601443.html

你可能感兴趣的文章
【转载】MYSQL模式匹配:REGEXP和like用法
查看>>
POJ 2492 A Bug's Life (并查集)
查看>>
2018Java年底总结
查看>>
[转载] 七龙珠第一部——第096话 克林大作战
查看>>
html 刷新更新背景图
查看>>
杭电_ACM_汉诺塔VII
查看>>
Dev控件系列之ASPXGridview控件自主绑定数据
查看>>
【总结整理】原创概念原创idea---摘自《结网》
查看>>
JAVA中的枚举
查看>>
php $_SERVER["REQUEST_TIME"] 笔记
查看>>
617. Merge Two Binary Trees
查看>>
Java课程设计——扫雷(winmine)
查看>>
Android 模拟器现已支持 AMD 处理器和 Hyper-V
查看>>
线程传值
查看>>
该进程或线程自上一个步骤以来已更改
查看>>
ctrl+alt+F1~6进入不了字符界面,黑屏的解决办法
查看>>
系统级性能分析工具 — Perf【转】
查看>>
VectorCAST软件自动化测试方案
查看>>
ueditor富文本编辑器使用百度地图自定义动态地图组件及兼容https及http协议
查看>>
charles抓包unknow
查看>>