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.