Et ci-dessous est l'explication de la documentation angulaire.
Un composant d'entrée est tout composant que Angular charge impérativement par type.
Un composant chargé de manière déclarative via son sélecteur n'est pas un composant d'entrée.
La plupart des composants d'application sont chargés de manière déclarative. Angular utilise le sélecteur du composant pour localiser l'élément dans le modèle. Il crée ensuite la représentation HTML du composant et l'insère dans le DOM au niveau de l'élément sélectionné. Ce ne sont pas des composants d'entrée.
Quelques composants ne sont chargés que dynamiquement et ne sont jamais référencés dans un modèle de composant.
La racine amorcée AppComponent
est un composant d'entrée. True, son sélecteur correspond à une balise d'élément dans index.html. Mais index.html
n'est pas un modèle de composant et le AppComponent
sélecteur ne correspond à un élément dans aucun modèle de composant.
Angular charge AppComponent dynamiquement car il est soit répertorié par type, @NgModule.bootstrap
soit boosté impérativement avec la méthode ngDoBootstrap du module.
Les composants dans les définitions d'itinéraire sont également des composants d'entrée. Une définition d'itinéraire fait référence à un composant par son type. Le routeur ignore le sélecteur d'un composant routé (s'il en a un) et charge le composant dynamiquement dans un fichier RouterOutlet
.
Le compilateur ne peut pas découvrir ces composants d'entrée en les recherchant dans d'autres modèles de composants. Vous devez en parler en les ajoutant à la entryComponents
liste.
Angular ajoute automatiquement les types de composants suivants aux modules entryComponents
:
- Le composant dans la
@NgModule.bootstrap
liste.
- Composants référencés dans la configuration du routeur.
Vous n'êtes pas obligé de mentionner ces composants explicitement, même si cela est inoffensif.
declared
enngModule
mais ne sont jamais utilisés. angular.io/docs/ts/latest/cookbook/… entrycomponents -