Вы можете сделать [class.myClass]="booleanExpression"
, но я не рекомендую добавлять его вместе с [ngClass]
, потому что тогда у вас может быть класс несколько раз.
Вместо этого я бы рекомендовал либо сделать [class.myClass]="booleanExpression"
для каждогои каждый класс, который вы используете в этом HTML-теге (имейте в виду, что "booleanExpression"
может устанавливать / отменять более одного класса, чтобы не увеличивать количество строк кода в вашем файле .ts, только в шаблоне).Или я бы сделал метод получения для [ngClass]
:
[ngClass]="liClasses"
get liClasses(): string {
const result = "";
if (conditionOne) { result += " myClassOne"}
if (conditionTwo) { result += " myClassTwo"}
return result;
}
, обратите внимание, что решение 1) более перфоманно, так как методы получения запускаются при каждом обнаружении изменений ине только когда условие одно или условие два меняется.