【问题标题】:Angular 8 Send Data between sibling componentsAngular 8在兄弟组件之间发送数据
【发布时间】:2020-02-16 20:39:52
【问题描述】:

我正在使用 Angular 8。 我有两个独立的组件。 形成第一个我可以单击一个按钮来访问第二个。这两个组件不在同一时间出现在屏幕上,当第二个打开时我们看不到第一个。 在按钮下,我使用带有 routerLink 的路由来访问第二个组件。 我的第一个组件是一个表单,并且有一个带有 ID 的字段。 当我单击按钮时,我想将此 ID 值从第一个组件传递到第二个组件,但我不知道该怎么做。 我怎样才能做到这一点? 提前感谢您的帮助。

【问题讨论】:

标签: angular components communication siblings


【解决方案1】:

如果您查看Angular Documentation,您会发现有几种方法可以在组件之间共享数据。但是,在这种情况下,最合适的方式是使用共享服务来协调组件之间的共享状态。该服务将在两个组件之外创建并注入到它们中。服务生命周期将与应用程序相同,而组件可能会被多次创建和销毁,并且不会被设计为在任何时间长度内保持状态。

有关如何制作共享服务的详细信息,请参阅this article

【讨论】:

    【解决方案2】:

    首先,您需要在第一个组件的构造函数中注入服务Router,如下所示。

    constructor(private router: Router) { }
    

    然后,在你的 routerlink 重定向时,你可以将 id 传递给第二个组件,如下所示:

    this.router.navigate(['/second-component', Id]);
    

    您可以如下导入Router

    import { Router } from '@angular/router';
    

    【讨论】:

      猜你喜欢
      • 2021-01-04
      • 2021-05-12
      • 2019-11-22
      • 2017-10-01
      • 2019-12-30
      • 2018-07-27
      • 1970-01-01
      • 2019-10-09
      • 2018-12-19
      相关资源
      最近更新 更多