错误写法
router.beforeEach((to, from, next) => {
var token = sessionStorage.getItem('token')
if (!token) {
next({ path: '/login' })
} else {
next()
}
})
正确写法
router.beforeEach((to, from, next) => {
var token = sessionStorage.getItem('token')
if (!token) {
if (to.path === '/login' || to.path === '/') {
next()
} else {
next({ path: '/login' })
}
} else {
next()
}
})
next带参会重新回到beforeEach,所以还需要进行一步判断