vue-router 跳转问题

vue-router中
a页面跳到b页面,b页面需要登录,如果未登录需要跳到登录页面,然后再跳到b页面,现在是可以跳转到登录页面,但是登录后要跳转到的b页面怎么实现?因为b页面不是一个固定的页面,可能是退出页面,用户中心页面等

阅读 3.6k
4 个回答
this.$router.go(-1);

返回上一个路由 ?

返回上一页不就好了?

这个需要在登录页面做处理,跳转到登录页面的时候

http://登录页面URL/login?from=${encodeURLComponent(location.href)}

这样在登录页面,你就能在queryString里拿到这个from参数

认证完之后,根据这个from跳转回去就OK了

请参考vue-router官方文档上的router.beforeEach钩子函数,可以用来实现你的功能。原理大概就是:

每次路由跳转都经过beforeEach这个钩子函数,里面的逻辑是若目的地是你需要先校验登录状态再跳转的页面,则检查登录态,检查通过则调用next(),否则跳转到登录页,并且带上的query是目的页面的fullPath,用于登录后跳转到目的页面用。

有疑问可以私聊沟通下~

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