Vue路由器始终重定向到错误页面

时间:2020-07-23 13:49:29

标签: vue.js nuxt.js vue-router

我正在尝试在用户未登录时设置重定向。但是当我像在我的示例中那样进行重定向时,URL更改了,但是我从nuxt获得了This page could not be found。该代码位于plugins文件夹内的login.js内部。然后,我将其包含在这样的nuxt配置中。

plugins: [
    '~/plugins/login.js'
],

这是处理重定向的实际代码

export default ({ app, store }) => {
  app.router.beforeEach((to, from, next) => {
    const loggedIn = store.state.account.loggedInAccount
    if (!loggedIn) {
      if (to.path !== '/redirect') {
        next({ path: '/redirect' })
      } else {
        next()
      }
    } else {
      next()
    }
  })
}

似乎尚未安装路由。

1 个答案:

答案 0 :(得分:0)

您应该尝试使用middleware。如官方文档所述,这是实现beforeEach函数的常规方法。您可以从here阅读有关它的信息。如果可以访问中间件内部的route对象,store对象和redirect函数,请在验证后使用redirect定向到其他路由。