首页 > 解决方案 > 如何在组件 Angular 之间传输数据?

问题描述

当多个嵌套组件Angular之间如何传输数据?

例如:

<router-outlet> </router-outlet>
<filter-mobile></filter-mobile>

我需要将结果数据从组件传递 filter-mobile到其中的任何组件, <router-outlet> </router-outlet>也可以是嵌套组件。

如果您需要更多解释,请发表评论

标签: angularangular5angular7

解决方案


对此的最佳实践是让组件在其中组合这两个部分(在 HTML 中),充当Smart Component并管理两者之间的数据流。您也可以provideservice这个级别上,底层组件也可以(可选?)注入并通过它进行通信。您将不得不考虑将通过那里的数据,但这是实现它的另一种方式。

尤其是当filter-mobile component是您感兴趣的事件的来源时,您可以将更紧密地连接到该组件的服务,它将事件发送到该组件。然后,取决于您的路由器的组件将(可选地)必须侦听此服务并对其消息采取行动。

https://angular.io/guide/component-interaction#parent-and-children-communicate-via-a-service


推荐阅读