请用AngularJS $注入器解释一下明确的例子

时间:2013-05-11 16:28:57

标签: angularjs

由于$injector(服务)官方文档解释不足,我很难理解它是如何运作的。每个应用程序可以有多少$injector个?我应该什么时候使用它? $injector如何运作? (依此类推)请向我提供一个真实世界的解释和一些JavaScript沙箱样本。

1 个答案:

答案 0 :(得分:63)

每个Angular应用程序都有一个注入器。通常,您无需直接与其进行交互。注入器是使Angular中依赖注入工作的关键。

factoryservicedirective等模块方法会使用注射器注册这些项目。当您注入某些东西(例如,服务到控制器)时,注入器将查找然后实例化该服务(如果它尚未实例化 - 如果是,它将返回已经实例化的对象)。

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