vue2中获取跳转前一页的url地址
场景:
项目中登录之后,首页需调用接口判断是否弹出弹窗,但是从其他页面跳转过来,则不需要调用接口和弹出弹窗。
因此我们需要在首页判断是否是从登录页过来的,还是从其他页面过来。此时就需要拿到前一页的url。
思路:
利用beforeRouteEnter钩子中的from参数获取之前的url信息
具体代码如下:
html
<script>
export default {
beforeRouteEnter(to, from, next) {
next(vm => {
// 判断前一个页面path是否是登录页
if (from.path === '/login') {
// 因为守卫在导航确认前被调用,所以组件还没被创建,beforeRouteEnter守卫不能访问this,这里用vm访问
vm.getCheck();
}
})
},
methods: {
getCheck() {
...
// 一些方法
...
}
}
}
</script>