E abaixo está a explicação dos documentos angulares.
Um componente de entrada é qualquer componente que o Angular carregue imperativamente por tipo.
Um componente carregado declarativamente por meio de seu seletor não é um componente de entrada.
A maioria dos componentes do aplicativo é carregada declarativamente. Angular usa o seletor do componente para localizar o elemento no modelo. Em seguida, ele cria a representação HTML do componente e a insere no DOM no elemento selecionado. Estes não são componentes de entrada.
Alguns componentes são carregados apenas dinamicamente e nunca são referenciados em um modelo de componente.
A raiz de inicialização AppComponenté um componente de entrada. Verdadeiro, seu seletor corresponde a uma tag de elemento em index.html. Mas index.htmlnão é um modelo de componente e o AppComponentseletor não corresponde a um elemento em nenhum modelo de componente.
O Angular carrega o AppComponent dinamicamente porque é listado por tipo @NgModule.bootstrapou inicializado imperativamente com o método ngDoBootstrap do módulo.
Os componentes nas definições de rota também são componentes de entrada. Uma definição de rota refere-se a um componente por seu tipo. O roteador ignora o seletor de um componente roteado (se houver um) e carrega o componente dinamicamente em umRouterOutlet .
O compilador não pode descobrir esses componentes de entrada procurando-os em outros modelos de componentes. Você deve contar sobre eles adicionando-os à entryComponentslista.
O Angular adiciona automaticamente os seguintes tipos de componentes aos módulos entryComponents:
- O componente na
@NgModule.bootstraplista.
- Componentes mencionados na configuração do roteador.
Você não precisa mencionar esses componentes explicitamente, embora isso seja inofensivo.
declareddentro,ngModulemas nunca são usados. angular.io/docs/ts/latest/cookbook/… entrycomponents -