首页 > 解决方案 > 依赖注入在角度应用程序中不起作用

问题描述

我无法访问我的服务的属性。如下图所示,装饰器和导入是有序的,并且服务本身已正确添加和注入。我似乎不明白是什么导致了错误,因为依赖注入的“正常程序”受到尊重。有问题的服务是注册服务。有什么建议可以解决这个问题吗?提前致谢。

app.module.ts

在此处输入图像描述

注册组件.ts

在此处输入图像描述

注册服务.ts

在此处输入图像描述

register.component.html的一部分

在此处输入图像描述

我得到的错误(都相似):

在此处输入图像描述**

文件:

在此处输入图像描述

标签: angulardependency-injection

解决方案


我在上面的代码片段中指出了 2 个错误。

  1. 是的,显然在 RegisterService 类中实现OnInit生命周期钩子时。因为所有生命周期钩子都是针对组件而不是服务。

  2. 由于您已经在 RegisterService 类中添加了以下行。

@Injectable({ providedIn: 'root' })

无需在 app.module.ts 类的 provider 数组中再次添加该服务类。因为@Injectable({providedIn: 'root'})已经意味着您在根级别注入了服务。


推荐阅读