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/