如何有条件地将 CSS 类应用到 AngularJS 中的元素?
AngularJS 的条件类应用
在 AngularJS 中,您可能会遇到需要根据某些条件有条件地将类应用于元素的场景。以下是如何有效地实现这一目标。
问题:
考虑渲染为 ul 的元素数组,每个元素带有 li 标签。您在控制器上有一个 selectedIndex 属性,并且想要向具有相应索引的 li 添加一个类。
解决方案:
1.使用 ng-class:
AngularJS 提供了 ng-class 指令,它允许您基于表达式动态应用类。要将“selected”类有条件地应用于具有 selectedIndex 的 li,您可以使用:
<li ng-class="{selected: $index == selectedIndex}">...</li>
登录后复制
2。使用 ng:class:
(v1 之前的语法)
对于 v1 之前的 AngularJS 版本,您可以将 ng:class 与计算结果的表达式一起使用直接指向类名。例如:
<li ng:class="{true:'selected', false:''}[$index == selectedIndex]">...</li>
登录后复制
解决方案比较:
虽然两种解决方案实现相同的结果,但功能不同:
- ng-class 接受一个对象,其中属性名称代表类名称,属性值确定是否应用该类。这允许更复杂的类应用程序逻辑。
- ng:class 需要一个计算结果为特定类名称的表达式,并且在有条件地处理多个类时不太灵活。
附加说明:
您还可以使用此技术将模型属性映射到类名称,将 CSS 类保留在控制器代码之外。例如:
<li ng-class="{admin:'enabled', moderator:'disabled', '':'hidden'}[user.role]">...</li>
登录后复制
以上是如何有条件地将 CSS 类应用到 AngularJS 中的元素?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
刺客信条阴影:贝壳谜语解决方案
1 个月前
By DDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
3 周前
By DDD
在哪里可以找到原子中的起重机控制钥匙卡
1 个月前
By DDD
如何修复KB5055523无法在Windows 11中安装?
2 周前
By DDD
Inzoi:如何申请学校和大学
3 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...
