angular6-将数据从一个组件发送到另一组件

时间:2018-07-30 09:34:08

标签: components share angular6 between

  • 我想在创建故障单后将响应发送到显示故障单详细信息的组件,我对角度6还是比较陌生,所以我需要一些建议。
  • 从服务发送响应的最佳方法是什么? 将其发送到组件,然后发送到组件以获取详细信息,或者我可以通过某种方式将其发送到负责该细节的componnet?

  • 我听说过共享服务,所以也许我也听说过某些父子方法,但我不太理解,因为现在两个组件之间没有关系(我认为没有父子)< / p>

enter image description here

1 个答案:

答案 0 :(得分:0)

您基本上已经可以采用以下方法:

父母-儿童交流

您可以在@Input注释的帮助下获得此功能。因此,父组件保留数据对象,并将其传递给子组件。然后,您可以使用OnChanges界面管理数据更新。

如果要强调组件之间的父子关系,则可能更喜欢这种方法。通过这种方式,您将迫使子组件位于另一个管理原始数据的组件内部。 这样,当销毁父对象时,数据也将被销毁。

共享服务

您所描述的这种方法基于一种共享服务,该共享服务保存数据并将其提供给订户。因此,该服务可以管理和保存数据,并且数量不受限制的组件可以访问该数据。

此方法适用于Observer Pattern,因此您的组件必须观察数据更新。

通过这种方式,在销毁服务时销毁了数据,或者在销毁所有包含服务要素的组件时销毁了数据。

-

看看您的图表,您应该为我做什么:

  • CreateComponent要求服务创建票证
  • 服务创建票证并将新的票证数据发送回CreateComponent
  • Che CreateComponent读取新获得的数据,如果创建成功,则请求到TicketDetail的路线导航。否则,您可以管理最终的错误

如果直接从Service进入细节,则无法正确管理创建结果,因为在Service中,您没有与用户交互的视图。也许您可以找到一些方法来做到这一点,但我认为这可能有点困难