ngClass只从一个类字符串中加载一个类

时间:2018-05-06 08:10:26

标签: angular angular2-template angular-ng-class

如果condition为true,我正在使用ngClass(Angular 2)加载一个类的字符串;如果条件为false,我正在使用其他类的字符串!

以下是代码:

<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只加载一个类,而在字符串中保留其他类!

有人可以告诉我,如果我做错了,或者是角度2的错误吗?

1 个答案:

答案 0 :(得分:0)

我知道这个问题很旧,但是显然在角度7中仍然有用,因为我刚遇到了同样的问题。

以某种方式,Angular要求您将2个ng-class语句之间的通用类(其中一个或另一个始终为true)移动到class属性中。否则,常见的语句将无法在语句的第一部分中起作用。

因此,上述问题的解决方案是:

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