我正在尝试创建具有显示任意模态的能力的模态服务。 目前,要创建动态组件,我将在视图中存储占位符:
<div #container></div>
...
@ViewChild("dialogContainer", {read: ViewContainerRef})
dialogContainer:ViewContainerRef;
而不是创建组件:
let factory = this.componentResolver.resolveComponentFactory(Dialog);
this.componentReference = this.dialogContainer.createComponent(factory);
有没有办法将所有这些逻辑从组件移到服务中,能否在正文或任何其他DOM元素中创建/删除视图容器?
答案 0 :(得分:3)
它不会创建ViewContainerRef,但它可以帮助您动态创建一个弹出窗口作为单独的组件。
我为你创建了plunker示例,我没有在这里嵌入它,因为stackowerflow代码片段不支持我创建示例所需的所有功能:) http://embed.plnkr.co/XFQAAHDAyrRAih3RTvHH/