mal*_*awi 10 typescript angular-services angular angular-dependency-injection
在 Angular 9 中,可注入装饰器选项providedIn有一个名为any. root和 和有any什么区别?
在我使用的情况下,服务是否被视为单例any?
@Injectable({providedIn: 'any'})
class UsefulService {
}
Run Code Online (Sandbox Code Playgroud)
max*_*sam 16
我认为提供的答案并不是很清楚。但是,@jkonst、@schr\xc3\xb6dingc\xc3\xb6der 和 @Bruce 在评论中是正确的。
\n对于任何由 Google 发送至此处的邮件,
\nany does\t 在每个模块中提供唯一的实例。(应该说只在每个共享模块中)
\n这意味着每个注入范围中有一个实例
\n来自https://angular.io/guide/providers
\n\n\n\n使用providedIn:\'any\',所有急切加载的模块共享一个单例实例;但是,延迟加载的模块每个都有自己独特的实例,如下图所示。
\n
小智 13
root和any根据官方文档的区别:
root :大多数应用程序中的应用程序级注入器。
platform :页面上所有应用程序共享的特殊单例平台注入器。
any :接收分辨率的 NgModule 注入器。
有关更多详细信息,请参阅这篇文章。
在我使用的情况下,服务是否被视为单例any?-没有
mal*_*awi 10
Angular 9 为可注入装饰器引入了新选项,除了之前的选项root和模块选项之外,现在我们还有两个附加选项\n platform,any
\n\n\nroot \xe2\x80\x94 这告诉 Angular 在应用程序根级别提供服务,并且该服务将被创建一次(单例服务\n ),并在注入令牌的每个模块中提供相同的实例。
\n\nany \xe2\x80\x94在注入令牌的每个模块(包括惰性\n模块)中提供唯一的实例。
\n\nplatform \xe2\x80\x94 指定providedIn: \'platform\' 使该服务在由页面上的所有应用程序共享的特殊单例平台注入器中可用。
\n
详细了解 Angular 的“root”和“any”提供程序范围
\n| 归档时间: |
|
| 查看次数: |
4605 次 |
| 最近记录: |