请解释一下AngularJS $注入器的清晰例子

由于$injector (服务)的官方文档解释不足,我很难理解它是如何工作的。 每个应用程序可能有多less个$injector ? 我应该什么时候使用它? $injector如何工作? (等等)请给我一个真实世界的解释和一些JavaScript沙箱样本。

每个Angular应用程序都有一个注入器。 通常你不需要直接与它进行交互。 注入是在Angular中进行dependency injection的关键。

factoryservicedirective等模块方法注册这些项目与注射器。 当你注入某些东西(例如,一个服务到控制器)时,注入器将查找并实例化服务(如果它没有被实例化 – 如果是的话,它将返回已经实例化的对象)。

如果由于某种原因,您确实需要dynamic地将服务注入到控制器中,请参阅https://stackoverflow.com/a/14418384/215945以获取有关如何执行此操作的示例。; 另见https://stackoverflow.com/a/14743553/215945