gpt4 book ai didi

Angular9 debugElement.classes ['my-class'] 现在返回未定义

转载 作者:行者123 更新时间:2023-12-04 04:17:04 25 4
gpt4 key购买 nike

我正在更新一个曾经使用 Angular 8 的存储库。在测试中,使用 TestBed,我正在使用以下方法检查类是否存在:fixture.debugElement.classes['我的类'].toBe(false)

更新到 Angular 9 后,此测试不再有效,因为当类不存在时表达式不再返回 false,而是返回 undefined。我已经使用以下方法修复了测试:fixture.debugElement.classes['我的类'].toBeFalsy()恐怕还有其他事情无法保持沉默。

检查 Angular 文档,类应该只返回一个 bool 值:类:{
[键:字符串]: bool 值;
}

有没有 classes 会返回 undefined 的情况?

最佳答案

正如 Ivy 文档所说:

DebugElement.classes returns undefined for classes that were added and then subsequently removed (previously, classes added and later removed would have a value of false).

https://angular.io/guide/ivy-compatibility

(我遇到了完全相同的问题,它也破坏了我的一打单元测试)

关于Angular9 debugElement.classes ['my-class'] 现在返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60528207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com