我是Angular的新手。我遵循此链接中的教程,并尝试执行/添加不属于该教程的内容。我在@component
内部employee-list.component.ts
和empployee.component.ts
中添加了一行providers :[EmployeeService]
行,它返回的错误说TypeError: Cannot read property 'push' of undefined
。因此,请注意,向某些组件添加providers :[EmployeeService]
是不必要的。我从这个链接中读到了依赖注入,但我真的没有得到我想知道的东西。那么任何人都可以给我一个简单的解释,如何/何时/在哪里使用/放置提供程序以及该错误是如何发生的?
提前非常感谢你。
providers
数组告诉 Angular 它应该实例化哪些服务。您可以在两个位置定义它:
- 元件
- 模块
当您在组件中使用提供程序时,该服务将可用于该组件及其所有子项。
当您在模块中使用它时,该服务将可用于给定模块中的所有管道、指令、组件和服务。
但是如果你愿意,你可以在两者中定义它 - 在这种情况下,Angular 将创建同一服务的两个实例。
首先在模块级别提供服务。