с помощью createEbendentView/createComponent и insert? Не в техническом смысле, а на практике, когда использовать первый подход, а когда второй?
разве create добавляет во вью контейнер?
Для начала, createEmbeddedView и createComponent у ViewContainerRef — это сахар для вызова идентичных методов у компонента или шаблона, и вставки их view в контейнер. Где стоит применять следует из того, надо ли вам сразу же отобразить view или нет. Возможно хочется логически отделить эти два действия, но это очень редкий кейс. На практике, если с шаблонами все ок, то с компонентами все не ок. Есть уже масса инструментариев для создания компонентов: — @angular/cdk и @angular/cdk-experimental для отображения оверлеев, диалогов, попапов, порталов и т.д. — @angular/router для отображения вложенных роутеров — @ngxd/core для создания динамических компонентов с автоматическими биндингами и прочее А теперь ответ на вопрос: Если это шаблоны, то чаще всего будете использовать метод у ViewContainerRef, когда сразу же требуется отобразить view. Если это компоненты, то лучше избегать использования всех низкоуровневых методов.
Обсуждают сегодня