【问题标题】:ngClass Is Loading Only One Class Out of a String of ClassesngClass 从一串类中只加载一个类
【发布时间】:2018-10-16 06:40:40
【问题描述】:

如果条件为真,我正在使用 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 中的错误,有人可以告诉我吗?

【问题讨论】:

  • 为什么不把所有常见的都移到常规样式属性中?
  • 能否请您确定您使用的是哪个版本的 Angular?
  • @FDavidov 我正在使用 Angular 2
  • 在这种情况下,请删除不相关的标签,因为有些人会根据这些标签查找问题并获得不相关的条目。

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


【解决方案1】:

我知道这个问题很老,但显然在 Angular 7 中仍然相关,因为我刚刚遇到了同样的问题。

不知何故,角度要求您将 2 个 ng-class 语句之间的公共类(其中一个总是正确的)移动到 class 属性中。否则,普通的在语句的第一部分将不起作用。

所以上面问题的解决方法是:

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

【讨论】:

    猜你喜欢
    • 2011-04-12
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 2012-10-11
    相关资源
    最近更新 更多