刚接触的你一般会这样写:
router.beforeEach((to, from, next) => {
const isLogin = sessionStorage.getItem('loginData')
if (isLogin) {
next()
} else {
next('/error')
}
})
但是!这样会造成死循环,解决办法:
router.beforeEach((to, from, next) => {
const isLogin = sessionStorage.getItem('loginData')
if (isLogin) {
next()
} else {
if (to.path === '/login') {
//这就是跳出循环的关键
next()
} else {
next('/login')
}
}
})