Vue.js RangeError:超过Vue路由器的最大调用堆栈大小

Vue.js RangeError:超过Vue路由器的最大调用堆栈大小,vue.js,vuejs2,vue-router,Vue.js,Vuejs2,Vue Router,我想用vue js写一个登录名来做这个,我先写了这个 及 我得到了这个错误(范围错误:超过了最大调用堆栈大小) 我认为您的在每次登录之前也会运行登录,因此它会进入一个无休止的循环,一次又一次地重定向到/login 尝试再添加一个条件,如下所示:- router.beforeEach((to, from, next) => { let isAuthenticate = false; if(localStorage.getItem('user')) { isAuthent

我想用vue js写一个登录名来做这个,我先写了这个

我得到了这个错误(范围错误:超过了最大调用堆栈大小)


我认为您的
在每次登录之前也会运行
登录
,因此它会进入一个无休止的循环,一次又一次地重定向到
/login

尝试再添加一个条件,如下所示:-

router.beforeEach((to, from, next) => {
  let isAuthenticate = false;

  if(localStorage.getItem('user')) {
    isAuthenticate = true;
  } 
  if(isAuthenticate && to.name !== 'login') {
    next();
  } else if(isAuthenticate) {
    next('/Dashboard/home')
  } else if(to.name === 'login') {
    next();
  } else {
    next('login')
  }
})