vue-router的路由守卫怎么跳转路由?

我想用vue-router的导航守卫定义一个全局守卫来监听路由的变化
用于实现一个拦截进入页面,然后跳转至登录页面的功能
可是我写的总出错,Google后没有找到解决方案,请教教我如何做
报错信息:

clipboard.png

相关代码:

clipboard.png

求帮忙,万分感谢!

阅读 6.7k
4 个回答
next({ path: '/login', replace: true })

应该可以

死循环了,beforeEach 意味着访问所有路由都会执行 next('/login'),访问 /login 执行 next('/login') 再访问 /login 执行 next('/login') 再访问 /login 执行 next('/login')...可以判断 from.name 不为 login 时执行 next('/login')

死循环。
next('/login') 可以理解为重定向到/login。
所以还会进入这个钩子函数,再次判断的时候还会进入if分支。

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