ngClass загружает только один класс из строки классов

Я использую ngClass (Angular 2) для загрузки строки классов, если условие истинно, и другой строки классов, если условие ложно!

Вот код:

<label [ngClass]="{'btn btn-success m-btn m-btn--pill': value==2, 'btn btn-outline-success m-btn m-btn--pill':  value!=2}" >

Нет проблем (но тот же код, что и в первой части в ngClass): вторая часть хорошо работает, когда условие value!=2 и строка класса для загрузки btn btn-outline-success m-btn m-btn--pill

Проблема: первая часть, где условие value==2 и строка классов для загрузки btn btn-success m-btn m-btn--pill но единственный загруженный класс (из многих доступных в строке) btn-success,

Я не могу понять, почему ngClass загружает только один класс, оставляя другие классы в строке!

Может кто-нибудь, пожалуйста, дайте мне знать, если я делаю что-то не так или это ошибка в Angular 2?

0 ответов

Я знаю, что этот вопрос старый, но, по-видимому, все еще актуален для angular 7, поскольку я только что столкнулся с той же проблемой.

Каким-то образом angular требует, чтобы вы переместили общие классы между 2 операторами класса ng (где всегда один или другой является истинным) в атрибут class. В противном случае обычные не будут работать в первой части утверждения.

Таким образом, решение проблемы выше:

<label class="btn m-btn m-btn--pill" [ngClass]="{'btn-success': value==2, 'btn-outline-success':  value!=2}" >
Другие вопросы по тегам