这是陷入死循环中了,我的原因是:
写vue登录健全时,条件写的不正确,导致了死循环。
const login=()=>!!localStorage.getItem('token')
router.beforeEach((to,from,next)=>{
if(login()){
next()
}else{
next('/login')
}
})
由于直接进行判断是否有token,如果没有就跳转到登录页面,但是忘记考虑到跳转到登录页面后,登录页面也没有token,因此下次在进入的时候,仍然进入的是登录页面,从而陷入死循环中。
解决方法:
在登录的时候进行判断,是否是在登录页面或者是注册页面,如果是登录页面或者是注册页面,直接就可以进入页面,如果是在其他页面需要进行判断,是否存在token,如果存在就进入,如果不存在,就进行注册。
const login=()=>!!localStorage.getItem('token')
router.beforeEach((to,from,next)=>{
const nextPath=['/login','/register']
if(nextPath.includes(to.path)){
next()
}else{
if(login()){
next()
}else{
next('/login')
}
}
})