Quasar路由器被困在每个循环中之前

问题描述 投票:0回答:1

我在router / index.js中有以下代码。如果令牌为空,则出现此错误Uncaught (in promise) RangeError: Maximum call stack size exceeded

const Router = new VueRouter({
    ...
})
Router.beforeEach((to, from, next) => {
    const token = Cookies.getItem('token')
    if (token === null) {
      Router.push('/login')
    } else {
      next()
    }
})

return Router

我做错了什么吗?

vue.js router quasar
1个回答
0
投票

请勿使用此:

if (token === null) {
  Router.push('/login')
}

根据文件的导航卫士。

if (token === null && to.name !== 'login') {
  next({
    path: '/login'
  })
}

您也可以将路由器发送给它的名称:next({name: 'login'})

请参阅:Vue Router

并确保您导出了路由器:

export default Router
© www.soinside.com 2019 - 2024. All rights reserved.