Мне интересно, как работает само ваше *ngFor
, причина в том, что вы используете let item in Items
вместо let item of Items
(это of
не должно быть in
)
приложение .component. html
<div *ngFor = "let item of Items">
<p> Item: {{item}} </p>
</div>
app.component. css
div:hover{
background-color: yellow;
}
Рабочий Stackblitz
Редактировать:
Согласно отредактированному вопросу, вы назначаете наведение всем элементам, вместо этого вам нужно назначить наведение каждому отдельному элементу, используя их индекс, для которого вам нужно использовать, например,
<div (mouseenter)="hover=i" (mouseleave)="hover=-1" *ngFor = "let item of Items;let i = index"
[style.background]="hover=== i ? 'red' : none">
<p> Item: {{item}} </p>
</div>
Теперь вы можете достичь результата без css и рабочего примера следующим образом:
Отредактированный стекблиц