Angular2 - 如何动态插入创建的组件?

时间:2016-11-30 06:25:12

标签: angular

我通过以下代码创建了一些组件:

resolveCom(com: any, viewContain: ViewContainerRef): ComponentRef<any> {
        let comFac = this.componentFactoryResolver.resolveComponentFactory(com)
        let newCom: ComponentRef<any> = viewContain.createComponent(comFac)
        newCom.changeDetectorRef.detectChanges()
        return newCom
   }

我动态创建一些组件并将它们保存到数组中:

let newCom: ComponentRef<any> = this.resolveCom(item, viewContain)
saveCom[key].push(newCom)

视图可以显示已创建的组件。现在我想要隐藏或显示这些组件,但我不想销毁它们并重新创建它们。 我刚才保存了它们,我可以动态插入我保存到视图中的组件吗?

1 个答案:

答案 0 :(得分:0)

您可以使用location.nativeElement访问该元素,然后使用它来设置属性或属性

newCom.location.nativeElement.hidden = true

this.renderer.setElementProperty(newCom.location.nativeElement, 'hidden', true);