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

时间:2017-01-27 18:40:42

标签: angular ng2-bootstrap

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

1 个答案:

答案 0 :(得分:5)

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

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

因此,在您的情况下,您应该在AppModule中使用ModalModule.foorRoot() 然后在您的共享模块中,您应首先imports: [ModalModule],然后exports: [ModalModule],以便它随处可用。

聚苯乙烯。 有一个更完整的bootstrap项目是由为角度1做ui-bootstrap的人做的: https://ng-bootstrap.github.io