角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] –