当前位置:  开发笔记 > 开发工具 > 正文

使用求值表达式的ngClass会删除常见类

如何解决《使用求值表达式的ngClass会删除常见类》经验,为你挑选了1个好方法。

当我使用带有公共类的多个表达式的ngClass c1时,当表达式从false变为true时,将删除公共类:


为了解决这个问题,我必须使用标准class属性指定公共类.


有没有更好的方法来实现这一目标?或者它是Angular2的错误?



1> Günter Zöchb..:

这不受支持.

https://github.com/angular/angular/issues/5763#issuecomment-163710342

所以我们有点说"我想要同时没有foo上课",这显然没有意义.这是一个类添加/删除的顺序,将导致不同的结果 - 这不是确定性的东西.

我想你需要改变你的代码:[ng-class]="{'active has-error': isOn, 'disabled has-success': isDisabled, 'has-feedback': isOn || isDisabled}".

进一步讨论github

[ng-class]="{'active has-error has-feedback': isOn, 'disabled has-success has-feedback': isDisabled}" 可细分为:

1.1:如果isOn的计算结果为true,则添加active,has-error和has-feedback.

1.2:如果isOn计算结果为false,则删除活动类,has-error和has-feedback.

2.1:如果isDisabled的计算结果为true,则添加禁用的类,has-success和has-feedback.

2.2:如果isDisabled的计算结果为false,则删除禁用的类,has-success和has-feedback.

没有办法跟踪类如何被添加到元素的classList或添加它们,并且这不是ng-class的目的.它只是应用它所知道的规则.


谢谢,github讨论正是我所追求但却找不到的
推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有