在哪里导入(导出?)使用 forRoot 的模块?

Where to import (export?) a module using forRoot?

我正在使用 ng2-bootstrap,并导入 ModalModule.forRoot() 来完成模态使用。我尽我所知遵循 Angular 风格指南。我需要在我的应用程序中比以前更多的地方使用模式,并且我正在尝试将导入移出到一个更全局的模块。问题是 Angular 不会让我从我的共享模块或核心模块中 导出 它,因为它使用 forRoot()。按照最佳实践,我明白我不应该将它导入我的 AppModule;他们说 AppModule 如果保持最小并且仅用于导入 CoreModule 和引导应用程序则更稳定。那么我应该在哪里导入呢?

使用 ModalModule.forRoot() 时,它会在应用程序的基础上注册只需要一次的内容。 (AppModule)

然后您可以在任何需要的地方导入 ModalModule,它将使用由 .foorRoot() 创建的单例对象。

所以在你的情况下,你应该在 AppModule 中使用 ModalModule.foorRoot() 然后在你的共享模块中你应该首先 imports: [ModalModule],然后 exports: [ModalModule] 这样它就可以在任何地方使用。

Ps。 有一个更完整的 bootstrap 项目,由为 angular 1 完成 ui-bootstrap 的同一个人完成,名为: https://ng-bootstrap.github.io