Во-первых, вы можете создать экземпляр массива для соответствующих цветов:
Машинопись:
colors = [{ status: "Passed", color: "red" }, { status: "Approuved", color: "red" },
{ status: "warning", color: "green" }, { status: "Ignored", color: "yellow" }]
Затем вы можете использовать ngStyle для динамической установки стиля:
HTML
...
<tr *ngFor="let row of data" [ngStyle]="{'background':getColor(row.status)}">
...
</tr>
, где getColor - это следующий метод:
Машинопись
getTheColor(status) {
return this.colors.filter(item => item.status === status)[0].color
// could be better written, but you get the idea
}
Возвращает значение цвета на основестатус из соответствующего цветового массива
Вот так
Демо