1:首先在路由對象中的某一個具體的路由對象加這樣一個屬性
meta: { requireAuth:true }
2:然后在main.js中添加這段代碼
router.beforeEach((to, from, next) => {
if (to.meta.requireAuth) { // 判斷該路由是否需要登錄權限
if (localStorage.getItem('a')) { // 通過vuex state獲取當前的token是否存在,通過一個變量(vuex中或localstorage中),如果為真,那么跳轉
next();
}else {
alert('請輸入賬號和密碼')
next({
path: '/',//如果為假,則重定向到這個路由路勁
query: {redirect: to.fullPath} // 將跳轉的路由path作為參數,登錄成功后跳轉到該路由
})
}
}else {
next()
}
})
結束!!!這樣就能在跳轉之前攔截並做一些操作。