在 Angular 中注入时出现值提供程序错误

Value Provider error while injecting in Angular

我正在尝试为我们的核心框架创建一个价值提供者。

所以我创造了那些

export interface TexteVide {
  texte: string;
}

export const TEXTE_VIDE_VALEUR = new InjectionToken<TexteVide>('TEXTE_VIDE_VALEUR');

export const TexteVideValeurParDefaut: TexteVide = {
  texte: '(vide)'
};

然后我设置了共享模块的提供者

{ provide: TEXTE_VIDE_VALEUR, useValue: TexteVideValeurParDefaut }

最后,我将我们的共享模块注入到我们应用程序的其他模块中,以便能够在需要的地方注入 TEXTE_VIDE_VALEUR。

但我越来越 Error: Can't resolve all parameters for TestsComponent: (?).

这是 TestsComponent 的构造函数:

constructor(private TEXTE_VIDE_VALEUR: TexteVide) { console.log(TEXTE_VIDE_VALEUR.texte); }

我的实现有什么问题?还是我遗漏了什么?

您应该使用 @Inject() 来注入 InjectionToken:

constructor(@Inject(TEXTE_VIDE_VALEUR) private texte: TexteVide) {
  console.log(texte.texte);
}