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