为什么Angular CLI不自动在provider数组中添加服务?

时间:2018-09-01 19:46:50

标签: angular dependency-injection angular-cli angular-di

就像我们使用Component命令创建Pipeangular-cli一样,CLI会自动将它们添加到特定模块的声明数组中,为什么在服务情况下不会发生这种情况。

1 个答案:

答案 0 :(得分:5)

这是因为您也可以在Services中提供Components,以防万一您需要同一个Service的不同实例。

通常ComponentsPipesDirectivesModule上注册,因为Module在使用它们之前需要了解它们。 / p>

但是在Service的情况下,由于Service既可以在Module级别也可以在Component级别注册(因为Angular支持分层依赖注入) ,@angular/cli假设您想在Module级注册该服务就没有意义。

对于Angular团队决定在创建模块时不向模块的Service数组中添加providers的决定,我认为这是唯一有意义的事情。