vue路由跳轉(zhuǎn)時判斷用戶是否登錄功能的實現(xiàn)
通過判斷該用戶是否登錄過,如果沒有登錄則跳轉(zhuǎn)到login登錄路由,如果登錄則正常跳轉(zhuǎn)。
一丶首先在用戶登錄前后分別給出一個狀態(tài)來標(biāo)識此用戶是否登錄(建議用vuex);
簡單用vuex表示一下,不會可以自己去官網(wǎng)多看看;
import Vue from ‘vue‘
import Vuex from ‘vuex‘
Vue.use(Vuex);
var state = {
isLogin:0, //初始時候給一個 isLogin=0 表示用戶未登錄
};
const mutations = {
changeLogin(state,data){
state.isLogin = data;
}
};
二丶在用戶登錄時改變登錄狀態(tài);
this.$store.commit(‘changeLogin‘,‘100‘) //登錄后改變登錄狀態(tài) isLogin = 100 ;
三丶重點來了;
在你的路由入口加上導(dǎo)航鉤子,具體什么意思看代碼;
一丶設(shè)置需要校驗的路由
{ path: ‘/admin‘,
component: Admin,
meta:{auth:true} // 設(shè)置當(dāng)前路由需要校驗 不需要校驗的路由就不用寫了;不要問為什么,自己去看官網(wǎng)
}
二丶路由跳轉(zhuǎn)并校驗
router.beforeEach((to,from,next) => {
if(to.matched.some( m => m.meta.auth)){
// 對路由進行驗證
if(store.state.isLogin==‘100‘) { // 已經(jīng)登陸
next() // 正常跳轉(zhuǎn)到你設(shè)置好的頁面
}
else{
// 未登錄則跳轉(zhuǎn)到登陸界面,query:{ Rurl: to.fullPath}表示把當(dāng)前路由信息傳遞過去方便登錄后跳轉(zhuǎn)回來;
next({path:‘/login‘,query:{ Rurl: to.fullPath} })
}
}else{
next()
}
})
以上這篇vue路由跳轉(zhuǎn)時判斷用戶是否登錄功能的實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue自定義復(fù)制指令 v-copy功能的實現(xiàn)
這篇文章主要介紹了Vue自定義復(fù)制指令 v-copy,使用自定義指令創(chuàng)建一個點擊復(fù)制文本功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-01-01
前端Vue.js實現(xiàn)json數(shù)據(jù)導(dǎo)出到doc
這篇文章主要介紹了前端Vue.js實現(xiàn)json數(shù)據(jù)導(dǎo)出到doc,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09
Vue.set()動態(tài)的新增與修改數(shù)據(jù),觸發(fā)視圖更新的方法
今天小編就為大家分享一篇Vue.set()動態(tài)的新增與修改數(shù)據(jù),觸發(fā)視圖更新的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09
vue3+vite使用History路由模式打包部署項目的步驟及注意事項
這篇文章主要介紹了vue3+vite使用History路由模式打包部署項目的步驟及注意事項,配置過程包括在Vue項目中設(shè)置路由模式、調(diào)整打包配置以及Nginx服務(wù)器的配置,正確的部署配置能夠確保應(yīng)用順利運行,提升用戶體驗,需要的朋友可以參考下2024-10-10
使用vue實現(xiàn)grid-layout功能實例代碼
這篇文章主要介紹了使用vue實現(xiàn)grid-layout功能的代碼講解,需要的朋友可以參考下2018-01-01
關(guān)于Vue的 watch、computed和methods的區(qū)別匯總
這篇文章主要介紹關(guān)于Vue的 watch、computed和methods的區(qū)別,下面文章將圍繞Vue的 watch、computed和methods的續(xù)航管資料展開全文它們之間區(qū)別的內(nèi)容,需要的朋友可以參考一下,希望能幫助到大家2021-11-11

