首页 > 解决方案 > 通信 - 具有多个父组件的子组件

问题描述

在我的应用程序中有多个父组件,其中有表组件作为子组件,我在开始时传递所有参数,当我单击排序时它转到父组件(现在由它完成@Output),它从服务中获取数据(这是在父级中定义的,因为所有父级都从不同的服务中获取数据),然后通过引用 Table 类将数据传递给子级,并在我们从后端对数据进行排序时viewChild调用类中的方法侦听。tablecomponent

我尝试了以下方法:-

共享服务方法,从孩子我无法确定应该调用哪个父母。

行为主题:- 输出是从所有父母那里订阅的,所以当一个输出被发出时,它会进入所有父母。

 @ViewChild('mainTable') mainTable: TableComponent;

callChildren(){
  this.mainTable.listenSort(this.rows);
}

任何人都可以建议我解决这个问题的明确方法吗?

标签: angularrxjsangular8

解决方案


您应该使用事件发射器与父组件通信,以便您仅从父组件捕获事件。如果要使用服务,则需要从每个父组件创建单独的服务实例。


推荐阅读