就像我们使用Component
命令创建Pipe
,angular-cli
一样,CLI会自动将它们添加到特定模块的声明数组中,为什么在服务情况下不会发生这种情况。
答案 0 :(得分:5)
这是因为您也可以在Services
中提供Components
,以防万一您需要同一个Service
的不同实例。
通常Components
,Pipes
和Directives
在Module
上注册,因为Module
在使用它们之前需要了解它们。 / p>
但是在Service
的情况下,由于Service
既可以在Module
级别也可以在Component
级别注册(因为Angular支持分层依赖注入) ,@angular/cli
假设您想在Module
级注册该服务就没有意义。
对于Angular团队决定在创建模块时不向模块的Service
数组中添加providers
的决定,我认为这是唯一有意义的事情。