以Angular

时间:2018-02-13 15:20:09

标签: angular angular5

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

所以我创造了

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); }

我的实施有什么问题?或者我错过了什么?

1 个答案:

答案 0 :(得分:0)

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

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