Używam następującego kodu do przekazywania danych do trasy:

this.router.navigateByUrl('/myurl/goes/here', { state: { data: someData });

Teraz w komponencie, do którego przechodzę, używam następującego kodu, aby pobrać dane, które przekazałem z pierwszego komponentu.

this.incomingData = window.history.state.data;

Teraz problem pojawia się, gdy ponownie ładuję drugi komponent (komponent B), pojawia się błąd informujący, że moje dane, które przekazałem, są teraz niezdefiniowane. (te przychodzące dane stają się niezdefiniowane).

Czy to, co robię, jest prawidłowym sposobem przekazywania i odbierania danych między komponentami, czy też robię coś źle?

1
marvin ralph 16 grudzień 2019, 20:23
1
Oto link, który pomoże ci przekazać dane i pobrać je w innym komponencie stackoverflow.com/questions/44864303/…
 – 
kushal shah
16 grudzień 2019, 20:35

1 odpowiedź

Użyj usługi kątowej ActivatedRoute w komponencie, do którego się wybierasz

 constructor(activeRoute: ActivatedRoute) {

    // this.activeRoute.snapshot.data
    console.log('Route Data', this.activeRoute.snapshot.data)
  }
-1
miladfm 16 grudzień 2019, 21:27