angular的ng-class指令和class有什么区别

刚学angular js两天,有一个疑惑,看到angular js中的ng-class指令可以为某一个元素结点添加相应的class。

但是想请问一下,这个跟直接给元素添加class有什么区别吗?angular js最终还是会解析ng-class指令中的内容,然后再给元素添加相应的class。这么做的优势体现在哪呀?就是为了后期方便修改这个元素结点的class吗。

阅读 5.7k
4 个回答

比如:ng-class="{red: x > 5}"
如果x>5为true,则把名为red的class加入到class中,
用ng-class可以方便你在controller里对x进行操作,就可以动态添加或删除class,比你用javascript操作class那种在class列表里新增或删除class要方便多

ngClass的作用是可以根据条件来动态添加不同的class,而原生的class没有这个效果

ng-class是指令,方便你根据逻辑来改变class

我们html中使用的class对应的value是一个string;
angular中的ng-xxx 对应的是一个表达式。比如你这里的遇到的嗯ng-class, 对应的即是一个 key : value。
value为true时,应用key样式。
例如 ng-class="{ someClass : true }";

注意,如果你的样式为 some-class 则需要表示为字符串类型 ,比如:

ng-class="{ 'some-class' : true }";

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进