1

我见过人们在他们的项目中使用 .forRoot()以及主要的 forRoot(paths inside...) ,这将他们带到了子 URL。

这个空的root的目的是什么?

示例(它用于定义模块的导入):

    NgbModule.forRoot(),
    ShareButtonsModule.forRoot(),
    BrowserModule,
    HttpClientModule,
4

1 回答 1

4

forRoot是模块上静态类方法的约定。

它用于将模块的某些提供者保持为单例,这意味着它们仅被注入到主应用程序模块中,而不是注入到单个组件中。

这样,您MyModule.forRoot() 只能在主应用程序模块中使用,并且仍然导入MyModule到需要它的组件中。

内部传递的数据forRoot(...)取决于模块本身和它拥有的提供者。不管forRoot是空还是带参数,关键是只在主app模块中使用。

这是一篇详细讨论 forRoot() 的好文章。

于 2017-10-11T18:22:56.000 回答