angular4路由守卫之CanDeactivate浏览器回退history问题

angular4路由守卫之CanDeactivate浏览器回退history问题

问题描述

因项目需求需控制路由跳转,检查当前页是否有模态窗存在,如果有则关闭,没有则正常跳转路由。这个过程中发现angular4的CanDeactivate无法阻止浏览器的历史路径的改变,虽然路由没有改变,但是浏览器的history已经改变了,致使当关闭模态窗第二次点击浏览器回退的时候,直接回退了两个页面,也就是window.history.go(-2)了。(实际上,经过我多番查找资料,直到今天的angular7这个问题还是依然存在的,所以记录一下)

解决方案

在这里插入图片描述
参考资料:https://github.com/angular/angular/issues/13586

猜你喜欢

转载自blog.csdn.net/qq_34749609/article/details/87785287