angular - Angular 2+ 你可以添加/删除基于 html 数据属性的 CSS 类吗?
问题描述
首先,我想为这个问题添加更多背景信息。
现在我有以下内容:
- 一个列表项,其中包含另一个浮动在它旁边的列表
- 目前,我正在使用 mouseover/out 事件基于类中的属性显示和隐藏元素
我想通过消除在类中拥有属性的需要而使其更具动态性,只需将数据属性添加到 html 元素,希望我可以使用所述属性管理它的状态。
这整个想法可能是错误的,所以如果有其他方法可以实现这一点,请引导我走向正确的方向。
谢谢!
更新
经过一番思考,我稍微改变了我的方法,而不是依赖组件属性,我向每个元素添加了一个新的 [attr.data-visible] 属性,其默认值为“false”。然后在 mouseover 事件中,我添加了一个方法,该方法将 html 元素作为参数,然后将数据可见值从 false 更改为 true,反之亦然。
解决方案
演示 您可以使用 ngClass 和事件来完成。
[ngClass]="{'your_class': isHovered}"
(mouseover)="isHovered=true"
(mouseout)="isHovered=false"
如果您有一个数组对象并在其中执行此操作,则为数组中的每个对象赋予属性
[ngClass]="{'your_class': data.isHovered}"
(mouseover)="data.isHovered=true"
(mouseout)="data.isHovered=false"
推荐阅读
- python - AttributeError: 'UploadFile' 对象没有属性 'tell' - FastAPI
- reactjs - 如何在 React Material UI 字段中设置值
- c - 使用 OpenMP 在嵌套循环内计数器
- android - 无法获取“https://dl.bintray.com/guardian/android/androidx/compose/compose-compiler/1.0.0/compose-compiler-1.0.0.pom”
- bash - nvidia-smi 将clocks_throttle_reasons.active 位掩码变成英文?
- swift - 我可以在使用变量更改 url 目标时从 API 获取数据吗?[SwiftUI]
- android - 签名密钥指纹与我们对此应用的记录不匹配
- blazor - 我们可以通过流畅的验证获得之前的值吗?
- c - 在 C 程序中启动 sshd 的最佳方式
- python - 在 keras 中编写自定义数据生成器