路由守衛的意義就相當於一個保安一樣,作用很大,在實際的項目中運用也是不少,也就是當客戶在登陸自己賬號的時候,有可能存在客戶有啥事的時候,自己后台或者pc的關閉全部瀏覽器,沒有點擊退出登錄,或者在退出登錄以后,部分客戶收藏了登錄過后的鏈接地址,為了不需要登錄就直接進入軟件或者頁面,這樣就會存在部分隱患,所以在實際項目中,公司也會讓你考慮到這一點。所以就需要記錄一下。
這里我們使用的是router.beforeEach()的方法
一:這個方法含有3個參數
1.1:第一個to(我理解的去哪里)
1.2:第二個from(來自哪里)
1.3:第三個next()(就是放行,放你的路由通過)
router.beforeEach((to, from, next)=>{})
然后我們就可以在這個箭頭函數內部進行我們自己想要的判斷
router.beforeEach((to, from, next) => { let isLogin = local.get('Code') ? true : false; // 獲取登錄的狀態 // 如果登錄過 且是登錄成功的 if (isLogin) { next() // 直接放行 } else { // 否則 // 如果去的是登錄頁 if (to.path === '/') { next() // 直接放行 } else { next('/') // 如果去的是別的頁面 直接跳轉到登錄頁 } } })
我這個是通過登錄過的賬號本地會存儲這該賬號的信息進行判斷的,大家也可以用自己的方式設置賬號是否登錄。