乐趣区

关于前端:Angular-错误消息ERROR-Error-NullInjectorError-No-provider-for-XX

谬误音讯 ERROR Error: NullInjectorError: No provider for CustomI18nConfigInitializer! 应该如何解决?

我曾经在 AppModule 里编写了如下代码啊:

{ 
      provide: CONFIG_INITIALIZER,
      useExisting: CustomI18nConfigInitializer,
      multi: true
    }

解决思路

在 Angular 利用中,呈现 ERROR Error NullInjectorError No provider for XX 谬误通常示意未在注入器中提供所需的依赖项。

具体而言,这个谬误音讯意味着某个组件、指令、服务等须要依赖于 XX 类型的对象,但注入器无奈找到 XX 的提供者。

以下是解决这个谬误的一些可能的办法:

  1. 增加提供者:在应用依赖项的组件、指令、服务等中增加一个提供者,该提供者可能提供 XX 的实例。例如,如果依赖项是一个服务,则能够在该服务的注入器元数据中增加提供者:
import {Injectable} from '@angular/core';
import {XX} from './xx';

@Injectable({
  providedIn: 'root',
  // 增加提供者
  providers: [XX]
})
export class MyService {constructor(private xx: XX) {}}
  1. 导入提供者:如果提供者曾经存在,但未被导入到以后文件中,那么能够通过导入提供者来解决该问题:
import {Component} from '@angular/core';
import {XX} from './xx';

@Component({
  selector: 'my-component',
  template: `<h1>My Component</h1>`
  // 导入提供者
  providers: [XX]
})
export class MyComponent {constructor(private xx: XX) {}}
  1. 确认提供者:确保 XX 类型的提供者曾经被正确地增加到应用程序的模块、组件或指令中,并且其名称拼写和门路正确。
  2. 确认依赖:确保代码中应用 XX 的组件、指令、服务等曾经正确地注入到了须要 XX 的中央。

这些办法能够帮忙你解决 ERROR Error NullInjectorError No provider for XX 谬误。如果依然无奈解决问题,能够思考查看应用程序的其余代码,或者尝试在搜索引擎上搜寻相干的解决方案。

退出移动版