vue-router登录成功后回到登录前页面是如何实现的?

深白色
  • 45
评论
阅读 10.2k
2 个回答
✓ 已被采纳

大概思路:
1.当你想进入 http://localhost:8080/user (该页面需要登录授权)
2.检查是否登录,如果没有登录跳转到登录页,需要将上一页的path(‘/user’)作为query存到login页地址中,如:http://localhost:8080/login?redirect=%2Fuser

if (!isLogin()) {
   this.$router.push({
    path: '/login',
    query: {redirect: 'your path'} // 如果你使用钩子函数,your path 可以替换成to.fullPath
  })
}

3.登录成功后,获取query中的redirect属性,然后跳转到这个地址

this.$router.push(this.$route.query.redirect || '/')

这是一种方式,你也可以用其他方式存储上一页的地址

Kevin
  • 2
新手上路,请多包涵

如果不使用钩子函数怎么写

撰写回答

登录后参与交流、获取后续更新提醒

宣传栏