Provider

providedIn是一个选项,用于在@Injectable装饰器中指定服务的提供范围。它有以下几种可能的值:

  • root:表示服务在应用程序级别的注入器中提供,也就是说,它是一个单例服务,可以在整个应用程序中使用。¹²³⁴
  • platform:表示服务在平台级别的注入器中提供,也就是说,它是一个特殊的单例服务,可以被页面上的所有应用程序共享。这个选项只在运行多个Angular应用程序在同一个窗口时有区别,因为每个应用程序都有自己的根注入器,但是都共享平台注入器。¹⁴
  • any:表示服务在接收解析的NgModule注入器中提供,也就是说,它不是一个单例服务,而是根据模块的加载方式而变化。对于急切加载的模块,它们共享一个由根模块注入器提供的实例;对于惰性加载的模块,它们各自拥有自己的独立实例。¹²

我希望这能帮助你理解providedIn的不同选项之间的区别。如果你还有其他问题,请随时问我。👍

Source: Conversation with Bing, 2023/7/29
(1) angular - What is the difference between providedIn any and root … https://stackoverflow.com/questions/59892369/what-is-the-difference-between-providedin-any-and-root.
(2) angular - providedIn platform vs root - Stack Overflow. https://stackoverflow.com/questions/60164548/providedin-platform-vs-root.
(3) Angular providedIn vs providers arrays | by PRATAP ADITYA - Medium. https://medium.com/@pratap-aditya/angular-providedin-vs-providers-arrays-17b475f03cbb.
(4) Improved Dependency Injection with the new providedIn scopes ‘any’ and … https://dev.to/christiankohler/improved-dependeny-injection-with-the-new-providedin-scopes-any-and-platform-30bb.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值