话不多说,举个我刚刚踩坑的栗子 。。。
如上图所示,大家可以看到在第538行,我已经成功添加了类名,此时我审查元素,样式已经成功添加,但是539行判断是否有这个元素时,却显示为false,原因如下:
总结:angular这个框架的本身是不操作dom的,像我这样写,现在只是view层发生了变化,但是Ctrl并没有变化,当Ctrl不断地操作时,view也不会时时变化,通俗点说就是你认为你更改了,但是ng并不认为你更改了,用ng就要用ng的方法做,此时我用了ng-class,将此问题解决!如下所示!
vie层:
ctrl层:
大家可以看到,这样写明显的代码量就少了很多,逻辑也很清晰!
总结:回想起之前在其他的地方我有用过addclass,没有出现问题,是因为那个时候需求只是简单更改视图,没有在Ctrl里面进行判断操作,所以那时没有影响,但是还是建议大家用规范的ng的方法来写,牢牢记住angular这个框架的本身是不操作dom的!虽然是很小的问题,但是确实没找到问题之前困扰了我许久,细节决定成败!希望能对大家有所帮助!!