Angular 2: Как динамически создавать ViewContainerRef
Я пытаюсь создать модальный сервис с возможностью показывать произвольный модальный.
В настоящее время для создания динамического компонента я сохраняю его заполнитель:
<div #container></div>
...
@ViewChild("dialogContainer", {read: ViewContainerRef})
dialogContainer:ViewContainerRef;
И чем создать компонент:
let factory = this.componentResolver.resolveComponentFactory(Dialog);
this.componentReference = this.dialogContainer.createComponent(factory);
Есть ли способ переместить всю эту логику из компонента в службу, с возможностью создания/удаления контейнера представления в теле или любого другого элемента DOM?
Ответы
Ответ 1
Не создавать ViewContainerRef, но он помогает вам динамически создавать всплывающее окно как отдельный компонент.
Я создал для вас пример plunker, и я не вставлял его сюда, потому что фрагмент кода stackowflow не поддерживает все функции, которые мне нужны, чтобы создать пример:)
http://embed.plnkr.co/XFQAAHDAyrRAih3RTvHH/