Вам нужно написать класс для реализации интерфейса " CanDeactivate ", где вы можете обрабатывать события.Попробуйте перенаправить на сам активный URL с помощью location.go () , как это происходит при событии кнопки возврата.
location.go('getTheCurrentPathToRedirect');
Что-то вроде ниже одного:
export class CanDeactivateBack implements CanDeactivate<any> {
constructor(public location: Location, public router: Router) {}
canDeactivate(component: any, currentRoute: ActivatedRouteSnapshot): boolean {
//YourConditionIfBackButttonPress - check for the history back click
if (YourConditionIfBackButttonPress) {
let urlPath = this.router.createUrlTree([], currentRoute);
let curUrlPath = urlPath.toString();
this.location.go(curUrlPath);
return false;
} else {
return true;
}
}
}
Я не запускал приведенный выше код.Это просто идея, чтобы вы могли начать с.Позвольте мне проверить и обновить позже.