Угловое 2 ng-bootstrap указывает, что корневой модуль должен быть зарегистрирован в imports
свойстве корня NgModule
:Угловое 2 Bootstrap Root Уровень модуля
@NgModule({
declarations: [AppComponent, ...],
imports: [NgbModule.forRoot(), ...],
bootstrap: [AppComponent]
})
export class AppModule {}
Когда после Angular 2 Styleguide бы она больше смысла в регистрации NgbModule в модуле shared
или core
? Если да, то каким образом можно выполнить forRoot()
для этого стороннего модуля, чтобы я мог использоваться как часть SharedModule
, импортированного в другие функциональные модули? Может ли он быть зарегистрирован как провайдер в CoreModule
, но будет ли один сингл умным или даже возможным выбором для сторонней библиотеки, такой как ng-bootstrap?
@NgModule({
imports: [CommonModule, FormsModule, NgbModule],
declarations: [
FooComponent
],
providers: [FooService],
exports: [
CommonModule,
FormsModule,
FooComponent,
NgbModule
]
})
export class SharedModule {}
Вопрос заключается в том, где следует 3-модули сторонних идти, если они будут повторно использоваться в течение некоторых художественных компонентов приложения с целью сохранения модуля базового приложения «чистый» за счет использования CoreModule и SharedModule, как показано в руководстве по стилю.
Спасибо!
Кажется, что вызов команды Root() не рекомендуется командой NG. From docs: 'Только вызов и импорт результата .forRoot в корневом прикладном модуле AppModule. Импорт его в любой другой модуль, особенно в ленивом модуле, противоречит намерению и, вероятно, приведет к ошибке выполнения. Источник [https://angular.io/docs/ts/latest/cookbook/ngmodule-faq .html] –