我是A2的新手,所以這個問題可能以前曾被問過,但是我使用了錯誤的術語,所以找不到答案。Angular2 - NgModule外部的組件注入
但是,我想了解A2內的@Component
注射。盡我所知,所有的組件不管如何嵌套的,他們總是有作爲NgModules文件的一部分在根級別聲明(在這裏聲明即服務都可以訪問通過所有部件)
@NgModule({
imports: [
...
],
declarations: [
1stComponent,
2ndComponent,
3rdComponent,
4thComponent <-- All components must be included here
],
providers: [
...
],
bootstrap: [
AppComponent
]
})
對我來說,這似乎有點奇怪。如果您有一個ChildComponent
,只會顯示爲ParentComponent
的一部分,該怎麼辦?爲什麼ChildComponent
需要在NgModule
級別聲明?在需要時,這個ChildComponent
不能被聲明爲父組件的一部分嗎?在加載應用程序時,預先聲明所有組件是否會導致開銷 - 它需要將所有內容都提前?還是僅僅是NgModule
定義了構建組件的內容,而不是在運行時顯示它們的時間或方式?