Чтобы получить более глубокие знания в Angular 2, я хотел бы, чтобы кто-то создал подробное объяснение/учебное пособие по базовой структуре компонентов, директив и их контейнеров и представлений.
В соответствии с документами:
Контейнер компонентов может содержать два вида представлений. Просмотров хоста, созданный путем создания экземпляра компонента через createComponent и Embedded Представления, созданные путем создания экземпляра встроенного шаблона через createEmbeddedView. Расположение контейнера View внутри содержащий View, задается элементом Anchor. Каждый вид Контейнер может иметь только один элемент привязки, и каждый элемент анкера может есть только один контейнер просмотра. Корневые элементы представлений, прилагаемых к этот контейнер становится братьями и сестрами Якорного элемента в визуализированном Просмотр.
Это оставляет много открытых вопросов, таких как:
A Просмотр хоста относится к элементу, в котором находится компонент, а встроенное представление относится к самому шаблону компонентов?
Это верно для обоих случаев при создании вручную (через createComponent
), а также при создании декларативно через другой хостинг-компонент (родительский)?
Это также относится к директивам, у которых нет шаблона (таким образом, нет представления)? И как все это работает в среде Shadow dom (браузер фактически поддерживает компонентный хост) против эмулируемой среды?
Angular2 делает много магии и, пытаясь стать экспертом, я хочу лучше понять (возможно, через визуальную диаграмму) все отношения: ViewContainerRef, Просмотры хоста Шаблоны Встроенный шаблон, ViewChild, ViewContainer и их иерархия компонентов и директив.
Я считаю, что я очень хорошо разбираюсь в Angular2 (уже поставил 2 огромных проекта), но все же чувствую, что у меня есть дыры в моем понимании подчеркивания внутренней работы.
Конечно, вам не нужно знать, как работает автомобиль, чтобы управлять им, но вы справляетесь с этим гораздо лучше, если вы это делаете,
Спасибо, как всегда,
Шон