Und unten ist die Erklärung aus den eckigen Dokumenten.
Eine Einstiegskomponente ist eine Komponente, die Angular unbedingt nach Typ lädt.
Eine Komponente, die deklarativ über ihren Selektor geladen wird, ist keine Eingabekomponente.
Die meisten Anwendungskomponenten werden deklarativ geladen. Angular verwendet den Selektor der Komponente, um das Element in der Vorlage zu lokalisieren. Anschließend wird die HTML-Darstellung der Komponente erstellt und am ausgewählten Element in das DOM eingefügt. Dies sind keine Einstiegskomponenten.
Einige Komponenten werden nur dynamisch geladen und in einer Komponentenvorlage nie referenziert.
Das Bootstrap-Stammverzeichnis AppComponent
ist eine Einstiegskomponente. True, sein Selektor stimmt mit einem Element-Tag in index.html überein. Ist index.html
aber keine Komponentenvorlage und der AppComponent
Selektor stimmt in keiner Komponentenvorlage mit einem Element überein.
Angular lädt AppComponent dynamisch, da es entweder nach Typ aufgelistet @NgModule.bootstrap
oder mit der ngDoBootstrap-Methode des Moduls unbedingt verstärkt wird.
Komponenten in Routendefinitionen sind auch Einstiegskomponenten. Eine Routendefinition bezieht sich auf eine Komponente nach ihrem Typ. Der Router ignoriert den Selektor einer gerouteten Komponente (falls vorhanden) und lädt die Komponente dynamisch in eine RouterOutlet
.
Der Compiler kann diese Eintragskomponenten nicht erkennen, indem er sie in anderen Komponentenvorlagen sucht. Sie müssen es über sie erzählen, indem Sie sie der entryComponents
Liste hinzufügen .
Angular fügt dem Modul automatisch die folgenden Arten von Komponenten hinzu entryComponents
:
- Die Komponente in der
@NgModule.bootstrap
Liste.
- Komponenten, auf die in der Routerkonfiguration verwiesen wird.
Sie müssen diese Komponenten nicht explizit erwähnen, obwohl dies harmlos ist.
declared
inngModule
sind aber nie benutzt. angle.io/docs/ts/latest/cookbook/… entrycomponents -