I need to prevent router to be navigated to another page (which is done by changing the hash) if some changes are made. Tried with HashChanger but it just fires \'hashChange\' e
Instead of stopping the router entirely, navigation can be prevented by event.preventDefault()
within the navigate event handler.
onNavigate: function(event) {
if (/* pending changes? */) {
event.preventDefault();
const { isBack, isBackToPage, isBackToTop } = event.getParameters();
if (isBack || isBackToPage || isBackToTop) {
window.history.go(1);
} else {
window.history.go(-1);
}
this.informUser("There are still pending changes.");
}
}
Demo: https://embed.plnkr.co/wp6yes