我有一个Ionic 2应用程序,其中ParentComponent调用ChildComponent @ViewChild方法来启动多个ChildComponents。其中一个ChildComponents在视图中使用不同的参数实例化两次,如下所示:
<ChildComponent [startFrom]="0" [limitTo]="1"></ChildComponent>
<ChildComponent [startFrom]="1" [limitTo]="1"></ChildComponent>
在离线/在线设备状态更改后,我调用ChildComponent的方法来更新它返回的项目列表。
@ViewChild(ChildComponent) childComponent: ChildComponent;
ngOnInit(): void {
this.networkService.connectSubscription(() => {
this.childComponent.getItems();
});
}
这里的问题是this.childComponent
只能抓住两者的第一个ChildComponent实例。
有没有办法迭代同一个@ViewChild组件的多个实例,以便我可以执行this.childComponent1.getItems()
和this.childComponent2.getItems()
之类的操作?
感谢您的帮助。
答案 0 :(得分:6)
@ViewChildren(ChildComponent) childComponents: QueryList<ChildComponent>;
ngAfterViewInit(): void {
this.networkService.connectSubscription(() => {
this.childComponents.toArray();
});
}