根据Angular文档,我们只能在配置块中注入Providers(而不是实例)。 https://docs.angularjs.org/guide/module#module-loading-dependencies
但与此Angular相反,您可以注入$provide
或$inject
,尽管它们是单例服务实例。
答案 0 :(得分:1)
这让我很好奇所以我做了一些研究。这是我发现的:
在代码中,2的原因是kafka-python
在创建$provide
(配置块中使用的注入器)之前放入providerCache
。这可确保它始终是providerInjector
的已知提供者。 https://github.com/angular/angular.js/blob/master/src/auto/injector.js#L671
那就是说,我同意能够将providerInjector
注入配置块似乎与关于注入此处所述配置块的内容的一般规则相矛盾:https://docs.angularjs.org/guide/module#module-loading-dependencies
尽管明确证明这是你可以在这里做的事情: https://docs.angularjs.org/guide/module#configuration-blocks
$provide
可能只是一般规则的一个例外。