我的应用程序中的一些路线是游戏,我想在用户即将离开游戏时实施确认过程。
有没有办法“停止”路由器?。
我试过了:
Router.configure({
onBeforeRun: function() {
Router.stop();
}
});
它摧毁了evrything。
有什么想法吗?
答案 0 :(得分:2)
修改更新代码以使用原始href值
Meteor.templateName.events({
'click .someLink': function(e) {
e.preventDefault();
if (game.isRunning && confirm('are you sure you want to leave?') ) {
// Router.go('routeName'); // edit, see comment below
Router.url(e.target.href);
}
}
});
答案 1 :(得分:1)
这是一篇旧帖子,但刚解决了。这是我的解决方案:
Router.route('/myPath', {
unload: function (e, obj) {
if(Session.get("hasChanged")){
if (confirm("Are you sure you want to navigate away ?")) {
// Go and do some action
}else{
// Redirect to itself : nothing happend
this.redirect('/myPath');
}
}
}
}