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