Saltar al contenido

Obtener ruta anterior Angular 7

Ten en cuenta que en la informática cualquier problema casi siempre tiene varias soluciones, de igual modo nosotros mostraremos lo mejor y más eficiente.

Solución:

Use el servicio de ubicación de angular, está integrado en 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 usar ubicación.atrás() para ir a la página anterior. Este es un ejemplo de trabajo:

https://stackblitz.com/angular/qvvrbgrmmda

Si solo quieres la ruta anterior puedes crear un observable como este

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

Ahora puede suscribirse a 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.

Te mostramos las reseñas y valoraciones de los usuarios

Nos puedes sostener nuestro ensayo dejando un comentario o puntuándolo te lo agradecemos.

¡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 *