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

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

clipboard.png

相关代码:

clipboard.png

求帮忙,万分感谢!

阅读 6.9k
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分支。

推荐问题