Angular2 在两个 child 组件之间传递数据

Angular2 passing data between two child components

我有一个包含两个 child 组件的组件。我通过 router-outlet.

来展示其中一种情况。

我想获取第一个 child 中插入的表单数据,并在提交表单时路由到的另一个 child 中使用它。

我怀疑我需要使用@input 或@output,但在使用 router-outlet.

时我找不到任何关于如何使用的文档

我目前的另一个解决方案是在第一个child中提交表单时将数据保存在localstorage中,然后在第二个child中调用它。看起来不太理想。

您可以使用 @ngrx/store 来存储数据,然后将它们注入到您的路由组件中。请参阅那里的实施例。

您可以通过服务传递数据。如果您创建一个服务,并在子 A 中设置数据,那么您可以从子 B 中检索它。唯一的问题是您需要将您创建的这个服务设置为父 class 的提供者,而不是子组件。

这是一个例子