vue failed to convert exception to string

使用了vue的导航守卫之后就报错

failed to convert exception to string
router.beforeEach(function(to, from, next){
    /* 路由发生变化修改页面title */
    if (to.meta.title) {
        document.title = to.meta.title
    }
    if(!localStorage.getItem('token')){
        // router.push({name:'login'})
        // router.push({name: 'login'});
        next({ path: '/user/login' });
    }
    next();
});
export default router;
阅读 10.4k
1 个回答

你这样写会陷入无限循环的,给你个参考下

let login = localStorage.getItem('token')
let path = to.path
if (path === '/user/login') {
  next()
  return
}
if (login) {
  if (path === '/') {
    next({
      path: '/index'
    })
  } else {
    next()
  }
} else {
  next({
    path: '/user/login'
  })
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题