在哪里导入(导出?)使用 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
我正在使用 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