Angular 2/4 +共享模块:forRoot()或不toRoot()

jos*_*hke 0 rxjs typescript angular-services angular-module angular

自从挖掘角度依赖注入(DI)的前几个基本级别,并且击中了用于Root()的gem之后,我一直想知道实际使用它的最佳实践是什么.

我偶然发现了这种方法,同时寻找一种允许延迟加载模块访问根上下文中的服务的方法,允许在两个模块之间共享数据流,其中一个或两个模块可能是延迟加载的.从那以后我想知道,你可以为共享模块中的所有内容使用forRoot()并在整个应用程序中保存大量的import语句吗?捕获量是多少?是否存在某些易于用于root的东西,以及其他不容易使用的东西?或者是root用于主要用于桥接延迟加载模块时桥接上述DI上下文问题?

Sur*_*yan 7

目的forRoot()singleton services在申请中.

它的含义forRoot()是只有一个service由其导出的实例ModuleWithProviders.如果没有forRoot(),如果你已经添加了service在模块providers和使用该模块在很多地方,你可以有很多情况下,service在应用程序的不同层.有了forRoot()service,如果在任何地方找不到最后一个,它将创建一个新的实例.