我通过以下代码创建了一些组件:
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)
视图可以显示已创建的组件。现在我想要隐藏或显示这些组件,但我不想销毁它们并重新创建它们。 我刚才保存了它们,我可以动态插入我保存到视图中的组件吗?
答案 0 :(得分:0)
您可以使用location.nativeElement
访问该元素,然后使用它来设置属性或属性
newCom.location.nativeElement.hidden = true
或
this.renderer.setElementProperty(newCom.location.nativeElement, 'hidden', true);