<div [style.background-color]='red'>
означает, что Angular ищет переменную с именем red, которую он не находит, следовательно, стиль не получает прикладная.
Использование:
<div [style.background-color]="'red'">
, которая сообщает Angular, чтобы использовать значение string , которое оценивается на красный.
Вы также можете использовать следующий синтаксис, чтобы избежать путаницы:
<div [ngStyle]="{ background: 'red'}">