ionic3 动态加载组件
2018-08-07 本文已影响0人
南京确善能
template:
<div #child></div>
ts:
@ViewChild("child",{read:ViewContainerRef}) child:ViewContainerRef;
childComponent:ComponentRef<MonitoringDataComponent>;
childCompFactory:ComponentFactory<MonitoringDataComponent>
//加载组件
this.childCompFactory=this.resolver.resolveComponentFactory(MonitoringDataComponent);
this.childComponent=this.child.createComponent(this.childCompFactory);
//销毁组件
this.childComponent.destroy();
声明周期:
在ionViewDidLoad,ionViewWillEnter,ionViewDidEnter这三个钩子函数中均可以加载,在constructor中无法加载,ViewContainerRef为undefind。
注意问题:
如果放在ngif或者ngswitch case中,则需要延时加载
获取子组件实例:
this.childComponent.instance