Вы не получите объяснение лучше, чем Угловые документы.
И ниже объяснение из угловых документов.
Элемент ввода - это любой компонент, который имеет угловую нагрузку по типу.
Компонент, загружаемый декларативно через его селектор, не является компонентом записи.
Большинство компонентов приложения загружаются декларативно. Угловой использует селектор компонента, чтобы найти элемент в шаблоне. Затем он создает представление HTML компонента и вставляет его в DOM в выбранном элементе. Это не входящие компоненты.
Несколько компонентов загружаются только динамически и никогда не упоминаются в шаблоне компонента.
Загрузочный корень AppComponent
является компонентом записи. Правда, его селектор соответствует тегу элемента в index.html. Но index.html
не является шаблоном компонента, а селектор AppComponent
не соответствует элементу в любом шаблоне компонента.
Угловые нагрузки AppComponent динамически, потому что они либо перечислены по типу @NgModule.bootstrap
, либо принудительно форматируются с помощью модуля ngDoBootstrap.
Компоненты определения маршрута также являются компонентами входа. Определение маршрута относится к компоненту по типу. Маршрутизатор игнорирует селектор маршрутизируемого компонента (если он даже имеет один) и динамически загружает компонент в RouterOutlet
.
Компилятор не может обнаружить эти элементы входа, ища их в других шаблонах компонентов. Вы должны рассказать об этом, добавив их в список entryComponents
.
Угловая автоматически добавляет следующие типы компонентов модуля entryComponents
:
- компонент в
@NgModule.bootstrap
списке.
- Компоненты, указанные в конфигурации маршрутизатора.
Вы не должны упоминать эти компоненты явно, хотя это безвредно.
Угловые использует entryComponents, чтобы включить «дрожание дерева», то есть только компилировать компоненты, которые фактически используются в проекте, а не компилировать все компоненты, которые «объявлены» в 'ngModule', но никогда не используются. https://angular.io/docs/ts/latest/cookbook/ngmodule-faq.html#!#why-does-angular-need-_entrycomponents_- – Samar