vue-router导航守卫next({path:'/xxx'})无法跳转,死循环

next()和next({path:"/xxxx})区别

  1. next()代表路由成功直接跳转进入对应路由,不会再次调用router.beforeEach()
  2. next({path:"/xxxx"}),表示路由拦截成功,重定向到了"/xxxx"路由,会再次调用router.beforeEach(),所以就会导致一直循环。要想解决这个问题,直接将next({path:"/xxxx"})改为next()就可以了。
    下图是我使用next({path:"/xxxx"})时报的错误,共参考
    WechatIMG1157.png

你可能感兴趣的:(vue-router导航守卫next({path:'/xxx'})无法跳转,死循环)