Попытка добавить стиль с объектами работает с [ngClass], но не с [class] - PullRequest
0 голосов
/ 15 апреля 2020

Как у всех?

Я пытаюсь добавить некоторый класс в div в моем шаблоне. Angular Mainsite говорит о стиле:

Директива NgClass может использоваться как альтернатива прямым привязкам [class]. Однако использование вышеупомянутого синтаксиса привязки классов без NgClass является предпочтительным, поскольку из-за улучшений в связывании классов в Angular NgClass больше не обеспечивает значительного значения и может в конечном итоге быть удалено в будущем.

Так Я пытаюсь сделать:

<div [class]="{class1:condition,class2:condition}"></div>

и

<div [class]="{'class1':condition,'class2':condition}"></div>

, и это не работает. Но с [NgClass] вместо [class], он работает отлично. Кто-то знает почему? Я использую Angular 8.2.14 и Angular Core 8.3.22.

Заранее спасибо!

1 Ответ

0 голосов
/ 15 апреля 2020

ngClass и class совсем не используются одинаково.

ngClass ожидает объект, поэтому ваш код работает с этой директивой.

Class, с другой стороны , это просто HTML атрибут. Если вы хотите добавить классы с условиями, вам придется работать следующим образом:

<div [class.class1]="condition"
     [class.class2]="condition"></div>

Надеюсь, что вам немного помогли, до скорой встречи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...