Angular使用中报错:Error: StaticInjectorError(e)[t -> t]: StaticInjectorError(Platform: core)[t -> t]: NullInjectorError: No provider for t!

报错原因:我在 detail.componnet.ts 中调用了另一个组件 redisListComponent 中的 changeInstanceStatus 方法,如下图:

Angular 报错:Error: StaticInjectorError(e)[t -> t]:  StaticInjectorError(Platform: core)[t -> t]: NullInjectorError: No provider for t!

虽然我在 detail.componnet.ts 已经 import 了 redisListComponent 组件,并且在 constructor 中加入了 private redisListComponent: RedisListComponent。但是任然会报错
Angular 报错:Error: StaticInjectorError(e)[t -> t]:  StaticInjectorError(Platform: core)[t -> t]: NullInjectorError: No provider for t!
Angular 报错:Error: StaticInjectorError(e)[t -> t]:  StaticInjectorError(Platform: core)[t -> t]: NullInjectorError: No provider for t!

上网查询后找到解决方法: 转载自:https://www.hellojava.com/a/69235.html
方法1:不光要 import,还需要在 @Component 中加入 providers: [RedisListComponent],这样才能将你当前的组件与所需组件相关联。如下图所示:
Angular 报错:Error: StaticInjectorError(e)[t -> t]:  StaticInjectorError(Platform: core)[t -> t]: NullInjectorError: No provider for t!

方法2:此方法是将你希望关联的组件作为全局的:在 app.modules 中的 @NgModule({})中加入 providers: [RedisListComponent]
@NgModule({
     declarations: [...],
     imports: [...],
     bootstrap: [...],
     entryComponents: [...],
     providers: [
          RedisListComponent
     ]
})

以上方法转载自:https://www.hellojava.com/a/69235.html

希望对大家有所帮助!

相关文章:

  • 2022-12-23
  • 2021-08-22
  • 2022-12-23
  • 2021-08-06
  • 2022-12-23
  • 2021-08-24
  • 2021-07-16
  • 2021-11-03
猜你喜欢
  • 2022-12-23
  • 2022-01-15
  • 2022-12-23
  • 2021-09-08
  • 2021-10-13
  • 2021-12-18
  • 2022-12-23
相关资源
相似解决方案