簡體   English   中英

Angular 8 在兄弟組件之間發送數據

[英]Angular 8 Send Data between sibling components

我正在使用 Angular 8。我有兩個獨立的組件。 形成第一個我可以單擊一個按鈕來訪問第二個。 這兩個組件不在同一時間出現在屏幕上,當第二個打開時我們看不到第一個。 在按鈕下,我使用帶有 routerLink 的路由來訪問第二個組件。 我的第一個組件是一個表單,並且有一個帶有 ID 的字段。 當我單擊按鈕時,我想將此 ID 值從第一個組件傳遞到第二個組件,但我不知道該怎么做。 我怎樣才能做到這一點? 在此先感謝您的幫助。

如果您查看Angular 文檔,您會發現有幾種方法可以在組件之間共享數據。 但是,在這種情況下,最合適的方式是使用共享服務來協調組件之間的共享 state。 該服務將在兩個組件之外創建並注入到它們中。 服務生命周期將與應用程序相同,而組件可能會被創建和銷毀多次,並且並非旨在將 state 保持任何時間長度。

有關如何制作共享服務的詳細信息,請參閱本文

首先,您需要在第一個組件的構造函數中注入一個服務Router ,如下所示。

constructor(private router: Router) { }

然后在您的 routerlink 重定向時,您可以將 id 傳遞給第二個組件,如下所示:

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

您可以按如下方式導入Router

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM