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}" >