我正在尝试为我们的核心框架创建一个价值提供者。
所以我创造了
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);
}
我的实施有什么问题?或者我错过了什么?
答案 0 :(得分:0)
您应该使用@Inject()
注入InjectionToken
:
constructor(@Inject(TEXTE_VIDE_VALEUR) private texte: TexteVide) {
console.log(texte.texte);
}