Я пытаюсь изменить класс определенных элементов на основе вычисления метода через 5 секунд:
<tr *ngFor="let row of items; let i = index">
...
<td #f [ngClass]="getColor(row, f)">Test 1</td>
<td #f2 [ngClass]="getColor(row, f2)">Test 2</td>
...
</tr>
Внутри компонента
getColor(row: any, f: any): string {
//I need to add a class based on some calculation
this.setClass(f)
return "aaa"; //set the aaa class
}
setClass(el: any) {
setTimeout(() => {
//remove the aaa class after 5 seconds
//this.renderer.removeClass(el.nativeElement, 'aaa');
}, 5000);
}
Проблема в том, что el.nativeElement является "неопределенным", я думаю, это потому, что тип el - HTMLElement вместо ElementRef.
Также я проверил некоторый похожий вопрос, такой как https://stackoverflow.com/a/48700662/1395614, но на самом деле проблема остается.