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

时间:2016-07-07 20:07:24

标签: forms angular router

我有一个包含两个子组件的组件。我使用带路由器插座的路由器显示其中一个。

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

我怀疑我需要使用@input或@output但是在使用路由器插座时我找不到任何关于如何操作的文档。

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

2 个答案:

答案 0 :(得分:2)

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

以下是此Angular 2 passing object via route params possible?

的示例

答案 1 :(得分:1)

您可以使用@ngrx/store来存储数据,然后将其注入您的路线组件。请参阅那里的示例进行实施。