HTML
<div class="nav--small nodeLevel newColor" id="rowItem-{{i}}" *ngFor="let root of rootzTemplates; let i=index" (click)="nodeClickLevel1(root,i)">
<p style="padding: 19px 1px;color: #fff; text-align: center;">
{{root}}
</p>
</div>
CSS
.activeColor {
background-color: grey;
}
JavaScript
constructor(private el: ElementRef) { }
nodeClickLevel1(root, id){
this.myTag = this.el.nativeElement.querySelector("#rowItem-" + id);
this.myTag.classList.remove('activeColor');
this.myTag.classList.add('activeColor');
}
Sekarang div bersifat dinamis, katakanlah jumlah elemen div adalah 6, pada acara klik saya harus mengubah warna latar belakang div tertentu yang diklik menjadi abu-abu dan warna lainnya harus tetap sama. Sekarang jika saya mengklik div katakanlah 2, hanya div ke-2 yang disorot dengan warna abu-abu, warna lainnya harus tetap sama dan sebaliknya.
(click)="nodeClickLevel1(event)
dan mengakses elemen yang sama dalam metode melaluievent.target
. Lihat postingan ini. - person riorudo   schedule 12.10.2020