Saltar al contenido

Obtener la ruta anterior Angular 7

Solución:

Use el servicio de ubicación de angular, está incorporado a angular e impórtelo desde ‘@ angular / common’ de esta manera:

import { Component, OnInit, Input } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Location } from '@angular/common';

import { Hero }         from '../hero';
import { HeroService }  from '../hero.service';

@Component({
  selector: 'app-hero-detail',
  templateUrl: './hero-detail.component.html',
  styleUrls: [ './hero-detail.component.css' ]
})
export class HeroDetailComponent implements OnInit {
  @Input() hero: Hero;

  constructor(
    private location: Location
  ) {}

  goBack() {
    this.location.back();
  }   
}

Y luego usa location.back () para ir a la página anterior. Este es un ejemplo de trabajo:

https://stackblitz.com/angular/qvvrbgrmmda

Si solo desea la ruta anterior, puede crear un observable como este

 get previousRoute$(): Observable<string> {
    return this.router.events.pipe(
      filter(e => e instanceof RoutesRecognized),
      pairwise(),
      map((e: [RoutesRecognized, RoutesRecognized]) => e[0].url)
    );
  }

Ahora puede suscribir este observable y realizar cualquier acción (asegúrese de cancelar la suscripción de este observable en el evento OnDestroy).

this.previousRoute$.subscribe(url => {
  //perform your action
});

NOTA: Este observable comenzará a emitir un evento cuando el usuario esté en la segunda navegación.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *