为什么在惰性加载模块中声明的服务提供商只对该模块自身可见?
和启动时就加载的模块中的提供商不同,惰性加载模块中的提供商是局限于模块自身。
当 Angular 路由器惰性加载一个模块时,它创建了一个新的运行环境。这个环境拥有自己的注入器,它是应用注入器的直属子级。
路由器把惰性加载模块的提供商和它导入模块的提供商添加到这个子注入器中。
这些提供商不会被拥有相同令牌的应用级别提供商的变化所影响。当路由器在惰性加载环境中创建组件时,Angular 会优先使用惰性加载模块中的服务实例,而不是来自应用的根注入器。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论