如果我想在一个模块中隔离服务,我应该为模块创建一个根组件,并providers
在这个组件上使用(如所述文档)。
如果我providers
在模块上使用,服务将成为应用程序级别。因此,这是提供应用程序级服务的一种方式(如示例中所做的那样)。
但是,接下来,文档说:
不要在共享模块中指定应用程序范围的单例提供程序。导入该共享模块的延迟加载模块将制作自己的服务副本。
所以,我们不应该使用providers
模块来提供共享服务。那么,我们应该使用什么?应用模块providers
?我们应该在 AppModule 中提供所有共享服务吗?什么时候应该使用providers
功能模块?
看起来,模块提供程序是共享的,但您不应该将它们用作共享。怎么回事?