【发布时间】:2019-11-11 14:33:40
【问题描述】:
以下代码生成 4 个 200x200 的 div。
我想在鼠标悬停时将一个类设置为一个div(该类应该只设置为悬停的div,而不是其他三个)
<style>
div {height: 200px; width: 200px; margin: 20px;}
.mouseover {background-color: red;}
</style>
<div *ngFor="let a of [1,2,3,4]"
[class.mouseover]="mouseOvered"
(mouseover)="mouseOvered=true"
(mouseleave)="mouseOvered=false">
</div>
在组件中不定义mouseOvered怎么办?
【问题讨论】:
-
如果您只是想简化或编写更少的代码,您可以在指令中隔离此逻辑 - 尽管我认为您所拥有的一切都很好
-
上述解决方案的问题是,如果单个 div 悬停,所有 div 都会获得类 'mouseover'。我认为您对创建自定义指令是正确的。
标签: angular