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)