Vue登錄攔截 登錄后繼續(xù)跳轉(zhuǎn)指定頁面的操作
在開發(fā)中我們經(jīng)常遇到這樣的需求,需要用戶登錄后才可以訪問該頁面,如果用戶沒有登錄點擊該頁面時則自動跳轉(zhuǎn)到登錄頁面,登錄后又跳轉(zhuǎn)到鏈接的頁面而不是首頁,這種問題該如何去做呢?
1、在路由器router下的 index.js 的配置中,給需要攔截登錄的頁面的路由上加一個meta: {loginRequest: true} ,其中l(wèi)oginRequest 變量自己可以隨意定義
2、在main.js文件里面添加beforeEach鉤子函數(shù)
解釋:
router.beforeEach((to, from, next) => { } 三個參數(shù):
to:即將要進入的目標(biāo) 路由對象
from:當(dāng)前導(dǎo)航正要離開的路由
next:(function函數(shù)) 調(diào)用next() 進行管道中的下一個鉤子
next() 無參 進行 下一個鉤子函數(shù)
next({ path:'/xxx' , query:{}}) 攜帶參數(shù)跳到xxx頁面
3、登錄頁面login.vue,登錄完成后,跳到指定頁面或首頁
補充知識:vue實現(xiàn)登錄后跳轉(zhuǎn)到來源路由url
sessionStorage存儲from.path來源的路由url,如果不是登錄或者注冊就攔截跳到登錄頁,如果是就放行
router.beforeEach(function(to,from,next){ if(to.path!='/login' && to.path!='/register'){ sessionStorage.setItem('referrer',from.path) //儲存來源路由 alert('請登錄') next({ path:'/login' }) }else{ next() } })
登錄后判斷sessionStorage中是否有存儲來源路由,如果有就跳轉(zhuǎn)到這個路由
//獲取來源頁路由 var referrer = sessionStorage.getItem('referrer'); if(referrer != null){ this.$router.push(referrer) }else { this.$router.push('/home') }
以上這篇Vue登錄攔截 登錄后繼續(xù)跳轉(zhuǎn)指定頁面的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue-cli3 配置開發(fā)與測試環(huán)境詳解
這篇文章主要介紹了vue-cli3 配置開發(fā)與測試環(huán)境詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05Vue?vant使用ImagePreview實現(xiàn)預(yù)覽圖片
這篇文章主要介紹了Vue?vant使用ImagePreview實現(xiàn)預(yù)覽圖片,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10vue項目中如何配置env環(huán)境的實現(xiàn)
本文主要介紹了vue項目中如何配置env環(huán)境的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07vue3中使用router路由實現(xiàn)跳轉(zhuǎn)傳參的方法
這篇文章主要介紹了vue3中使用router路由實現(xiàn)跳轉(zhuǎn)傳參的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03解決vue elementUI中table里數(shù)字、字母、中文混合排序問題
這篇文章主要介紹了vue elementUI中table里數(shù)字、字母、中文混合排序問題,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01vue?el-input設(shè)置必填提示功能(單個與多個)
有的功能需要設(shè)置必填項,當(dāng)然也需要判斷是不是添上了,下面這篇文章主要給大家介紹了關(guān)于vue?el-input設(shè)置必填提示功能(單個與多個)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02