A poniżej znajduje się wyjaśnienie z dokumentacji kątowej.
Komponent wejściowy to dowolny komponent, który kątowo ładuje bezwzględnie według typu.
Składnik ładowany deklaratywnie za pomocą swojego selektora nie jest składnikiem wejściowym.
Większość składników aplikacji jest ładowana deklaratywnie. Angular używa selektora komponentu, aby zlokalizować element w szablonie. Następnie tworzy reprezentację HTML komponentu i wstawia ją do DOM w wybranym elemencie. To nie są podstawowe składniki.
Kilka komponentów jest ładowanych tylko dynamicznie i nigdy nie ma do nich odniesień w szablonie komponentów.
Bootstrapped root AppComponent
to składnik wpisu. To prawda, że jego selektor pasuje do znacznika elementu w pliku index.html. Ale index.html
nie jest szablonem komponentów, a AppComponent
selektor nie pasuje do elementu w żadnym szablonie komponentów.
Angular ładuje AppComponent dynamicznie, ponieważ jest on albo wyszczególniony według typu, @NgModule.bootstrap
albo bezwzględnie pobrany za pomocą metody ngDoBootstrap modułu.
Komponenty w definicjach tras są również komponentami wejściowymi. Definicja trasy odwołuje się do składnika według jego typu. Router ignoruje selektor routowanego komponentu (jeśli w ogóle taki posiada) i ładuje komponent dynamicznie do plikuRouterOutlet
.
Kompilator nie może wykryć tych składników wejściowych, szukając ich w innych szablonach składników. Musisz o nich powiedzieć, dodając je do entryComponents
listy.
Angular automatycznie dodaje do modułu następujące typy komponentów entryComponents
:
- Komponent na
@NgModule.bootstrap
liście.
- Komponenty wymienione w konfiguracji routera.
Nie musisz wyraźnie wspominać o tych składnikach, chociaż jest to nieszkodliwe.
declared
w programie,ngModule
ale nigdy nie są używane. angular.io/docs/ts/latest/cookbook/... entrycomponents -