Вот очень ситуативный ответ, который использует преимущества истинных / ложных значений:
<ng-container *ngIf="1 as i">
Number is {{ i }}
</ng-container>
Используйте его в своих классах в самом контейнере:
<div class="css-{{ i }}">With interpolation</div>
<div [class]="'css-' + i">With input</div>
Вот стэкблиц: https://stackblitz.com/edit/angular-3wm4en?file=src%2Fapp%2Fapp.component.html
РЕДАКТИРОВАТЬ пояснение:
В javascript каждое значение может быть преобразовано в логическое значение: это значения true или false.
Оператор быстрого логического анализа - это !!
двойное отрицание.
Давайте попробуем:
console.log(!!'');
console.log(!!0);
console.log(!!5);
Когда мы используем эту запись, оценка использует тот же принцип: она проверяет, является ли данное значение истинным или ложным.В цифрах, если 1 соответствует действительности, тест проверяется, и запись as i
просто создает переменную шаблона.
Для информации, ложные значения: 0, '', null, undefined, infinity, NaN
.