когда пользователь меняет свой URL вручную, ваше приложение будет выгружено и загружено снова. вы можете сделать несколько хаков с javascript, например, написать URL при выгрузке, а затем вернуть его обратно при загрузке
window.addEventListener('beforeunload', function(e) {
localStorage.setItem("appUnloading", JSON.stringify({time: Date.now(), url: location.pathname}));
};
.....
export class GuardForAllRoutes {
constructor(private router: Router) {}
canActivate() {
const appUnloadingState = localStorage.getItem("appUnloading");
let time, url;
if(appUnloadingState) {
{time, url} = JSON.parse(appUnloadingState);
}
if(Date.now() - time < 10000) { //let say your page will be loaded for no more that 10 seconds
return this.router.parse(url); // this won't work on old angular versions. use router.navigate instead
}
}
}