【发布时间】:2021-02-18 15:54:39
【问题描述】:
据我了解,每个 Angular 模块都有自己的注入器。
但是在编译过程中,所有模块都是merged 合二为一。
关于导入模块的最大困惑是开发人员 认为他们建立了等级制度。这可能是合理的假设 导入其他模块的模块成为父模块 它的进口。然而,事实并非如此。合并所有模块 在编译阶段。因此没有层次结构 被导入的模块和被导入的模块之间的关系 进口。
因此,如果模块之间没有任何层次关系,则不清楚来自所有合并模块的注入器如何形成模块注入器层次结构? - 如果在一个根模块中声明所有服务也是一样的 - 在这种情况下,层次关系是什么?
更新 1: 来自 Daniel Perales 提供的link 如下:
-
Angular 确实将所有模块服务提供者合并到一个 AppModule 工厂中,该工厂“返回包含所有合并提供者的模块定义。”
因此,看起来模块注入器层次结构中的*元素是 AppModule 工厂,以下元素是延迟加载模块的注入器定义。
有什么想法吗?
【问题讨论】:
标签: angular dependency-injection