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

深白色
  • 45
回复
阅读 10.7k
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
新手上路,请多包涵

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏