我们经常会遇到希望浏览器回退到指定页面的情况,网上看到最多的方案就是popstate,但是popstate在safari上是受限制的,而且改变浏览器历史记录的时候,返回的时候会出现各种奇怪的bug。
然而,vue router中有个非常好用的东西,就是beforeRouteLeave路由守卫啦。
beforeRouteLeave: function(to, from, next){
if(to.fullPath==='/'){
next();
}else{
next('/');
}
}
这里要注意添加判断,不能直接next(’/’), 否则会出现死循环,因为每更改一次路由,beforeRouteLeave就会重新执行一次。
then, 完美解决,再也不用头疼浏览器历史记录的问题啦~~~~~~~