角2 ng-bootstrap指示根模块需要在根NgModule
的imports
属性登记:角2引导根级别模块
@NgModule({
declarations: [AppComponent, ...],
imports: [NgbModule.forRoot(), ...],
bootstrap: [AppComponent]
})
export class AppModule {}
继Angular 2 Styleguide当它会更有意义来注册shared
或core
模块中的NgbModule?如果是这样,那么如何执行此第三方模块的forRoot()
,以便我可以将其作为SharedModule
的一部分导入到其他功能模块中?它是否可以在CoreModule
中注册为提供商,但是对于第三方库(如ng-bootstrap),单身人士是否可以成为明智的选择?
@NgModule({
imports: [CommonModule, FormsModule, NgbModule],
declarations: [
FooComponent
],
providers: [FooService],
exports: [
CommonModule,
FormsModule,
FooComponent,
NgbModule
]
})
export class SharedModule {}
的问题是,应该在哪里第三方模块去,如果他们要始终与保持基本应用程序模块“干净”通过使用CoreModule的目标应用程序的选择功能部件被重新使用和样式指南中演示的SharedModule。
谢谢!
看来,调用forRoot()不是NG团队推荐的。来自文档: '只能在根应用程序模块AppModule中调用并导入.forRoot结果。将它导入到任何其他模块中,特别是在延迟加载的模块中,与其意图相反,并且可能会产生运行时错误。来源[https://angular.io/docs/ts/latest/cookbook/ngmodule-faq的.html] –