Ho un router (lato client) in un'app Meteore e collegamenti utilizzando l'helper {{pathFor}}
.Interruzione della navigazione con il ferro-router Meteor
Sto installando una bandiera dirty
nel Session
quando l'utente modifica un campo di modulo, e voglio far scattare un avvertimento e consentire all'utente di interrompere la navigazione dalla pagina se è impostato il flag, fondamentalmente come un onunload
gestore .
Ho provato a fare questo con:
Router.onBeforeAction(function(pause) {
var self = this;
if (!this.ready()) {
return;
}
if(Session.get('dirty')) {
if(!confirm("Are you sure you want to navigate away?")) {
pause();
}
}
});
Tuttavia, mentre ricevo la richiesta, sto ancora navigato via. Cioè, il pause()
non sembra fermare la successiva azione del router, qualunque essa sia.
Cosa sto sbagliando?
Desidero che l'utente non lasci la pagina, ovvero voglio interrompere il percorso. – optilude