如何在Angular的同级组件之间传递数据?

时间:2019-05-22 14:17:02

标签: angular routes e-commerce

我正在使用Angular构建一个电子商务应用程序,我想知道如何将总金额从ShoppingCart组件传递到Checkout组件。 这两个组成部分是同级的。 我看到很少的方法可以做到这一点,例如BehaviourSubject和NavigationExtras,但我不知道它们是否是好的做法。

2 个答案:

答案 0 :(得分:1)

您可以将服务用于共享数据。如果您有复杂的用例,那么数据随处可见,并且许多组件都可以进行更改,那么您应该考虑像redux这样的状态管理过程。

答案 1 :(得分:0)

Matteo对我来说最好的解决方案是使用Subject。逻辑是这些:

  1. 在父亲的ngOnInit()(创建频道)中创建主题
  2. 将主题传递给同级(在通道中登录同级)
  3. 在兄弟姐妹的ngOnInit()中,您可以将兄弟姐妹注册到频道中
  4. 当您点击结帐时,yuou可以通知频道中正在监听的组件的总金额。
  5. 销毁频道并取消注册组件