类型“ToastInjector”中的属性“get”不可分配给基类型“Injector”中的同一属性

Joh*_*kel 2 node.js typescript angular-toastr angular ngx-toastr

错误 TS2416:类型“ToastInjector”中的属性“get”无法分配给基本类型“Injector”中的同一属性。

\n

输入 \'(token: any, notFoundValue?: T, flags?: InjectFlags) => ToastPackage | T\' 不可分配给类型 \'{ (令牌:ProviderToken,notFoundValue:未定义,选项:InjectOptions & { 可选?: false; }):T;(令牌:ProviderToken,notFoundValue:null,选项:InjectOptions):T;(令牌:ProviderToken <...>,notFoundValue?:T,选项?:InjectOptions | InjectFlags):T;(令牌:ProviderToken<...>,而不是Fou...\'。

\n
Types of parameters \'flags\' and \'options\' are incompatible.\n  Type \'InjectOptions & { optional?: false; }\' is not assignable to type \'InjectFlags\'.\n
Run Code Online (Sandbox Code Playgroud)\n

toast-injector.ts

\n
import {Injector, InjectFlags} from \'@angular/core\xe2\x80\x99;\n\nimport { ToastPackage } from \'./toast-config\';\n\n\n\nexport class ToastRef<T> {\n\nexport class ToastInjector implements Injector {\n\n  constructor (\n\n    private _toastPck: ToastPackage,\n\n    private _parntInjtr: Injector\n\n  ) {}\n\n\n  //eslint-disable-next-line\n\n  get<T> (token: any, notFoundValue?: T, flags?: InjectFlags): T | ToastPackage {\n\n    if (token === ToastPackage) {\n\n      return this. _toastPck;\n\n    }\n\n    return this._parntInjtr.get<T> (token, notFoundValue, flags);\n\n  }\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n

该问题在升级后出现在 Angle 16 中。实际问题是在“get”处引起的。任何建议如何处理这个问题。

\n

在此输入图像描述

\n

小智 10

我在将角度从 14 更新到 15 时遇到了同样的问题,并且能够修复它

  • 通过添加"skipLibCheck":truetsconfigangularCompilerOptions文件的部分

或者

  • 通过更新ngx-toastr到版本16.0.0