Vue.js Routing Guard问题

时间:2017-05-27 14:31:40

标签: javascript vue.js vuejs2 vue-router

我设置了一个路由保护设置,检查路由是否适合访问者(登录和注册路由),如果是,用户通过身份验证重定向到仪表板。然而,这有时是有效的,有时不是。

router.beforeEach((to,from,next)=>{

    if (to.matched.some(record => record.meta.forGuests)) {
        if (auth.quickCheck()) {
            console.log('should redirect now')
            next({name:'dashboard'});
        } else next()
    }
    next();
});

这是我的后卫。我总是得到console.log消息,但由于某种原因它并不总是重定向。当我改变路线" live"时会发生这个问题。 Vue路由器正在接收它,但不会重定向它应该如何... 这是我的登录路线,例如。

  {
      path: '/login',
      name: 'login',
      component: require('./views/Login.vue'),
      meta:{
        forGuests: true
      }
    },

这里的主要问题是有时会工作!。例如,这是我的console.log:

should redirect now
Component mounted.
should redirect now

安装寄存器组件时会发生组件安装。正如您第一次看到我更改为/login时,我得到了应该重定向组件已挂载(它确实重定向了我)并且下次我得到了应该重定向并留在 / login

0 个答案:

没有答案