我很困惑何时将服务放入@Component()
中的组件提供商而不是NgModule()
例如,如果我有一个服务要进行HTTP调用以获取我的FooterComponent的链接,那么它应该进入应用程序的NgModule
还是应该用作provider
in FooterComponent的@Component
?
答案 0 :(得分:4)
这取决于您希望如何使用该服务。如果要在组件类的不同对象中使用不同的服务实例,则应在@Component中提供它。如果要在不同对象中使用一个实例,则应在@NgModule中提供它。
答案 1 :(得分:0)
我通常将提供程序放在NgModule中,因为我可能必须为组件提供自定义值,在这种情况下,我可以使用组件或指令中的provide覆盖NgModule中的值。
在重构时,通过几个模块而不是很多组件的工作量也会减少。
但是,我无法找到关于这个主题的任何官方指导原则。