Что не так с моим угловым кодом? Я осознаю:
Cannot read property 'remove' of undefined at BrowserDomAdapter.removeClass ...
HTML
<ol class="breadcrumb">
<li *ngClass="{active: step==='step1'}" (click)="step='step1; '">Step1</li>
<li *ngClass="{active: step==='step2'}" (click)="step='step2'">Step2</li>
<li *ngClass="{active: step==='step3'}" (click)="step='step3'">Step3</li>
</ol>
Ответы:
Угловая версия 2, ..., 9 предоставляет несколько способов условного добавления классов:
введите один
тип два
и несколько вариантов:
тип три
тип четыре
источник
[ngClass]="js expression returning html class string"
так что они одинаковы в этом смысле[ngClass]=...
вместо*ngClass
.*
только для краткого синтаксиса для структурных директив, где вы можете, например, использоватьвместо более длинной эквивалентной версии
Смотрите также https://angular.io/docs/ts/latest/api/common/index/NgClass-directive.html
Смотрите также https://angular.io/docs/ts/latest/guide/template-syntax.html
источник
*
просто допускается упрощенный синакс вместо канонической формы.Другое решение будет использовать
[class.active]
.Пример :
источник
Это нормальная структура для
ngClass
:Так что в вашем случае, просто используйте это так ...
источник
со следующими примерами вы можете использовать «ЕСЛИ ЕЩЕ»
источник
Вы можете использовать ngClass для применения имени класса как условно, так и не в Angular
Например
условный
Несколько Условие
Метод выражения
Этот метод будет внутри вашего компонента
источник
Вы должны использовать что-то (
[ngClass]
вместо*ngClass
), как это:источник
В
Angular 7.X
Классы CSS обновляются следующим образом, в зависимости от типа вычисления выражения:
string - добавлены CSS-классы, перечисленные в строке (разделенные пробелами)
Array - добавлены CSS-классы, объявленные как элементы Array.
Object-keys - это CSS-классы, которые добавляются, когда выражение, указанное в значении, принимает истинное значение, в противном случае они удаляются.
источник
чтобы расширить МостафаМашайехи своим ответом для второго варианта> вы также можете связать несколько вариантов с помощью ','
Также * ngIf может использоваться в некоторых из этих ситуаций, обычно в сочетании с * ngFor
источник
Пока я создавал реактивную форму, мне нужно было назначить 2 типа классов на кнопку. Вот как я это сделал:
Когда форма верна, у кнопки есть btn и btn-class (из начальной загрузки), иначе просто btn class.
источник
Кроме того, вы можете добавить с помощью функции метода:
В HTML
В component.ts
источник
Пусть YourCondition - это ваше условие или логическое свойство, тогда сделайте вот так
источник
ngClass
синтаксис:Вы можете использовать так:
источник
Вот что сработало для меня:
источник
Вы можете использовать [ngClass] или [class.classname], оба будут работать одинаково.
[class.my-class]="step==='step1'"
ИЛИ
[ngClass]="{'my-class': step=='step1'}"
Оба будут работать одинаково!
источник
Не относится к
[ngClass]
директиве, но я также получаю ту же ошибку, что ии я подумал, что ошибка в моем
[ngClass]
состоянии, но оказалось, что свойство, к которому я пытался получить доступ,[ngClass]
не было инициализировано.Как у меня было это в моем машинописном файле
и по моему
[ngClass]
я использовали я получаю ошибку
и решение было исправить мою собственность
Надеюсь, что это помогает кому-то, кто пытается соответствовать состоянию недвижимости в
[ngClass]
источник
Код является хорошим примером ngClass, если еще условие.
источник
Попробуйте вот так ..
Определите свой класс с помощью ''
источник