【问题标题】:Where to import (export?) a module using forRoot?使用 forRoot 在哪里导入(导出?)模块?
【发布时间】:2017-01-27 18:40:41
【问题描述】:
我正在使用ng2-bootstrap,并导入ModalModule.forRoot() 来完成模态使用。我尽我所知遵循 Angular 风格指南。我需要在我的应用程序中比以前更多的地方使用模式,并且我正在尝试将导入移到更全局的模块中。问题是 Angular 不会让我从我的共享模块或我的核心模块中导出它,因为它使用forRoot()。遵循最佳实践,我知道我不应该在我的AppModule 中导入它;他们说如果AppModule 保持最小并且仅用于导入CoreModule 和引导应用程序,它会更稳定。那么在哪里导入呢?
【问题讨论】:
标签:
angular
ng2-bootstrap
【解决方案1】:
当使用 ModalModule.forRoot() 时,它会在应用程序的基础上注册只需要一次的东西。 (应用模块)
然后您可以在任何需要的地方导入 ModalModule,它会使用由 .foorRoot() 创建的单例对象。
因此,在您的情况下,您应该在 AppModule 中使用 ModalModule.foorRoot()
然后在你的共享模块中,你应该首先imports: [ModalModule],然后是exports: [ModalModule],这样它就可以在任何地方使用。
附言。
为 angular 1 执行 ui-bootstrap 的同一个人有一个更完整的引导项目,称为:
https://ng-bootstrap.github.io