在某个页面文件内(如welcom.vue)用beforeRouteEnter (to, from, next)可以获取前后下的所有路由,在项目开发中经常会用到。比如用来做路由跳转控制、在路由跳转前或后调用方法等。
其中遇到的一个问题是,要点击浏览器返回按钮返回上一页,但我们这个项目进入首页前还有一个动画页(也就是说,只点一次返回按钮,是到动画页,动画页自动鉴权又直接进了首页,导致看起来是没有正常回到上一页)
在beforeRouteEnter中就判断了该页面前的路由是从哪来的,如果是从首页来的,就直接返回上两页
这里记录下
export default {
beforeRouteEnter (to, from, next) {
if (to.name !== 'Welcome') {
next({name: 'Index', query: {menu_id: to.params.menuId}})
}
else {
next(vm => {
vm.getReadyForIndex()
})
}
if (from.name === 'Index') {
history.go(-2)
}
}
}