Y a continuación está la explicación de los documentos angulares.
Un componente de entrada es cualquier componente que Angular carga imperativamente por tipo.
Un componente cargado de forma declarativa a través de su selector no es un componente de entrada.
La mayoría de los componentes de la aplicación se cargan declarativamente. Angular utiliza el selector del componente para ubicar el elemento en la plantilla. Luego crea la representación HTML del componente y la inserta en el DOM en el elemento seleccionado. Estos no son componentes de entrada.
Algunos componentes solo se cargan dinámicamente y nunca se mencionan en una plantilla de componente.
La raíz bootstrapped AppComponent
es un componente de entrada. Es cierto que su selector coincide con una etiqueta de elemento en index.html. Pero index.html
no es una plantilla de componente y el AppComponent
selector no coincide con un elemento en ninguna plantilla de componente.
Angular carga AppComponent dinámicamente porque se enumera por tipo @NgModule.bootstrap
o se limita de forma imperativa con el método ngDoBootstrap del módulo.
Los componentes en las definiciones de ruta también son componentes de entrada. Una definición de ruta se refiere a un componente por su tipo. El enrutador ignora el selector de un componente enrutado (si incluso tiene uno) y carga el componente dinámicamente en un RouterOutlet
.
El compilador no puede descubrir estos componentes de entrada buscándolos en otras plantillas de componentes. Debes contarlo sobre ellos agregándolos a la entryComponents
lista.
Angular agrega automáticamente los siguientes tipos de componentes a los módulos entryComponents
:
- El componente en la
@NgModule.bootstrap
lista.
- Componentes a los que se hace referencia en la configuración del enrutador.
No tiene que mencionar estos componentes explícitamente, aunque hacerlo es inofensivo.
declared
enngModule
pero que nunca se usan. angular.io/docs/ts/latest/cookbook/… entrycomponents -