Я новичок в A2, поэтому этот вопрос, вероятно, был задан раньше, но я использую неправильную терминологию, поэтому не могу найти ответ.Angular2 - компонентная инъекция вне NgModule
Однако, я пытаюсь понять впрыск @Component
внутри A2. Как лучше я не могу сказать, все компоненты, независимо от того, как вложенные они всегда должны быть объявлены как часть NgModules файл на корневом уровне (т.е. услуги объявлены здесь доступны через все компоненты)
@NgModule({
imports: [
...
],
declarations: [
1stComponent,
2ndComponent,
3rdComponent,
4thComponent <-- All components must be included here
],
providers: [
...
],
bootstrap: [
AppComponent
]
})
Для меня, это кажется немного странным. Что делать, если у вас есть ChildComponent
, который отображается только как часть ParentComponent
? Почему необходимо указать ChildComponent
на уровне NgModule
? Может ли это ChildComponent
не быть объявлено как часть родительского компонента, когда это необходимо? При объявлении всех компонентов спереди не возникает накладных расходов при загрузке приложения - ему нужно все встать перед собой? Или это только то, что NgModule
определяет, какие компоненты предназначены для сборки, а не когда и как они отображаются во время выполнения?