谬误音讯 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 的提供者。
以下是解决这个谬误的一些可能的办法:
- 增加提供者:在应用依赖项的组件、指令、服务等中增加一个提供者,该提供者可能提供 XX 的实例。例如,如果依赖项是一个服务,则能够在该服务的注入器元数据中增加提供者:
import {Injectable} from '@angular/core';
import {XX} from './xx';
@Injectable({
providedIn: 'root',
// 增加提供者
providers: [XX]
})
export class MyService {constructor(private xx: XX) {}}
- 导入提供者:如果提供者曾经存在,但未被导入到以后文件中,那么能够通过导入提供者来解决该问题:
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) {}}
- 确认提供者:确保 XX 类型的提供者曾经被正确地增加到应用程序的模块、组件或指令中,并且其名称拼写和门路正确。
- 确认依赖:确保代码中应用 XX 的组件、指令、服务等曾经正确地注入到了须要 XX 的中央。
这些办法能够帮忙你解决 ERROR Error NullInjectorError No provider for XX 谬误。如果依然无奈解决问题,能够思考查看应用程序的其余代码,或者尝试在搜索引擎上搜寻相干的解决方案。