首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角度依赖注入查找和模块注入器层次结构

问角度依赖注入查找和模块注入器层次结构
EN

Stack Overflow用户
提问于 2021-02-18 15:54:39
回答 1查看 143关注 0票数 0

据我所知,每个角度模块都有自己的喷射器。

然而,在编译过程中,所有模块都是单一的合并。

对于导入的模块,最大的困惑是开发人员认为他们建立了一个层次结构。而且,假设一个导入其他模块的模块成为其导入的父模块可能是合理的。然而,事情不是这样的。所有模块都在编译阶段合并。因此,在导入的模块和导入的模块之间没有分层关系。

因此,如果模块之间没有任何层次关系,则不清楚来自所有合并模块的注入器是如何形成模块注入器层次结构的?--如果声明一个根模块中的所有服务--在这种情况下,层次关系将是什么?

更新1:来自Daniel提供的链接的如下所示:

  1. 模块注入树(层次结构)是在组件注入树( 修复 )、延迟加载模块( 错误 )旁边引入的。
  2. Angular确实将所有模块服务提供程序合并到一个AppModule工厂中,该工厂“将模块定义与所有合并的提供程序一起返回”。

因此,看起来模块注入器层次结构中的顶级元素是AppModule工厂,下面的元素是来自惰性加载模块的注入器防御。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2021-02-18 16:12:37

角度DI是一个非常复杂的话题,它的实现方式已经在不同的版本中发生了变化。在现代角度,提供语法“根中提供”的服务是一种安全的选择,以允许树的抖动和避免陷阱,而且只有在某些特定情况下,才在模块或组件的提供者数组中手动提供服务。

以下是关于这一主题的两篇好文章:

https://indepth.dev/what-you-always-wanted-to-know-about-angular-dependency-injection-tree

https://indepth.dev/posts/1261/what-you-always-wanted-to-know-about-angular-dependency-injection-tree

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66263470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档