我们刚刚开始使用angular2的第一个项目。我有一个关于提供服务的问题。
据我所知,有两种方法可以在您的应用中使用providers:[MyService]
声明提供商。
您可以在@NgModule
标记中全局声明,也可以在@Component
标记中本地声明。
据我所知,这两种方式的唯一区别在于提供范围。适用范围广,一次只有组件范围。 出于这一点,我会得出结论,我宁愿在我的特定组件中提供本地服务(取决于服务的用途),以保持范围小。
这是正确的,还是两种宣言方式之间还有其他差异,我不知道?
答案 0 :(得分:4)
如果您为组件提供本地服务,则他们将不具备相同的服务。他们获得了相同类型的所有A服务,但它们不是相同的服务。
如果您将它们提供给AppModule,则会将其创建为整个应用程序的单例。