我正在尝试创建具有显示任意模态的能力的模态服务.
目前,为了创建动态组件,我正在为其存储占位符:
目前,为了创建动态组件,我正在为其存储占位符:
- <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/