La forma en que lo hice mientras navegaba a una página diferente agrega un parámetro de consulta pasando la ubicación actual
this.router.navigate(["user/edit"], { queryParams: { returnUrl: this.router.url }
Lea este parámetro de consulta en su componente
this.router.queryParams.subscribe((params) => {
this.returnUrl = params.returnUrl;
});
Si returnUrl está presente, active el botón Atrás y cuando el usuario haga clic en el botón Atrás
this.router.navigateByUrl(this.returnUrl); // Hint taken from Sasxa
Esto debería poder navegar a la página anterior. En lugar de usar location.back, creo que el método anterior es más seguro, considere el caso en el que el usuario accede directamente a su página y si presiona el botón Atrás con location.back, lo redirigirá al usuario a la página anterior, que no será su página web.
Locationestados: "Nota: es mejor usar el servicio de enrutador para activar los cambios de ruta. Use la ubicación solo si necesita interactuar o crear URL normalizadas fuera del enrutamiento". La respuesta de @ Sasxa aparentemente muestra una forma de usarRouterpara hacer esto. Sin embargo, elLocationmétodo definitivamente es más conveniente. ¿Alguien sabe por qué elRoutermétodo podría ser más correcto que elLocationmétodo?