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

kq0g1dla  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(114)

错误TS 2416:类型“ToastInjector”中的属性“get”不能分配给基类型“Injector”中的同一属性。
类型'(标记:any,notFoundValue?:T,flags?:InjectFlags)=> ToastPackage|“T”不可分配给类型“{(标记:ProviderToken,notFoundValue:未定义,选项:InjectOptions & { optional?:false; }):T;(token:ProviderToken,notFoundValue:null,选项:进样选项):T;(token:ProviderToken<...>,notFoundValue?:T,选项?:进样选项|InjectFlags):T;(token:ProviderToken<...>,notFou...)

Types of parameters 'flags' and 'options' are incompatible.
  Type 'InjectOptions & { optional?: false; }' is not assignable to type 'InjectFlags'.

toast-injector.ts

import {Injector, InjectFlags} from '@angular/core’;

import { ToastPackage } from './toast-config';


export class ToastRef<T> {

export class ToastInjector implements Injector {

  constructor (

    private _toastPck: ToastPackage,

    private _parntInjtr: Injector

  ) {}

  //eslint-disable-next-line

  get<T> (token: any, notFoundValue?: T, flags?: InjectFlags): T | ToastPackage {

    if (token === ToastPackage) {

      return this. _toastPck;

    }

    return this._parntInjtr.get<T> (token, notFoundValue, flags);

  }

}

升级后问题出现在Angular 16。实际问题在“获取”处引起。任何建议如何处理这个得到。

q0qdq0h2

q0qdq0h21#

我有同样的问题更新Angular 从14至15,并可以能够修复它

  • 通过在tsconfig文件的angularCompilerOptions部分添加"skipLibCheck":true

  • 通过将ngx-toastr更新为16.0.0版本

相关问题