不推荐GET:从V4.0.0开始,使用Type<T>或InjectionToken<T>?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (150)

切换到Angular 5.2.3后,运行ng clilinter "deprecation": truel 规则在我的许多测试中出现以下错误:

get is deprecated: from v4.0.0 use Type<T> or InjectionToken<T>

投诉的界限就像

fixture.debugElement.injector.get(MyService)

MyService被用于依赖注入的类。

我无法猜测新语法应该是什么,如

fixture.debugElement.injector.get<MyService>(MyService)

给出了一个编译错误 Argument of type 'typeof MyService' is not assignable to parameter of type 'Type<MyService> | InjectionToken<MyService>'.

使用进样器以避免弃用错误的正确方法是什么?

提问于
用户回答回答于

作为临时修复,可以尝试如下:

fixture.debugElement.injector.get<MyService>(MyService as any)

扫码关注云+社区

领取腾讯云代金券