在Vue2.0中的路由鉤子主要是用來攔截導(dǎo)航,讓它完成跳轉(zhuǎn)或前取消,可以理解為路由守衛(wèi)。
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)與策劃設(shè)計,圖們網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:圖們等地區(qū)。圖們做網(wǎng)站價格咨詢:13518219792
分為全局導(dǎo)航鉤子,單個路由獨享的鉤子,組件內(nèi)鉤子。
三種 類型的鉤子只是用的地方不一樣,都接受一個函數(shù)作為參數(shù),函數(shù)傳入三個參數(shù),分別為to,from,next。
其中next有三個方法
(1)next(); //默認(rèn)路由
(2)next(false); //阻止路由跳轉(zhuǎn)
(3)next({path:'/'}); //阻止默認(rèn)路由,跳轉(zhuǎn)到指定路徑
這里我使用了組件內(nèi)鉤子進(jìn)行判斷token過期后跳轉(zhuǎn)到登錄頁,其他兩種鉤子可以去官網(wǎng)查看。
//路由前驗證 beforeRouteEnter(to, from, next) { let postdata = { meta: { client_version: "1.0", client_type: "1", }, data: { access_token: $.cookie("authtoken").toString() } } $.ajax({ url: urls.serchuser, type: 'POST', data: JSON.stringify(postdata) }).done(data => { data = JSON.parse(data); console.log(data); if(data.status == 10050) { next(false); location.href = 'login.html'; }else{ next(); } }) }
實現(xiàn)方法很簡單,在路由前向服務(wù)器發(fā)送請求,如果返回的數(shù)據(jù)表明token過期則阻止默認(rèn)跳轉(zhuǎn),否則就正常跳轉(zhuǎn)。
以上這篇Vue利用路由鉤子token過期后跳轉(zhuǎn)到登錄頁的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持創(chuàng)新互聯(lián)。