一般你會這樣寫
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') } } })
