vue路由跳轉時判斷用戶是否登錄功能的實現
更新時間:2017年10月26日 10:04:55 投稿:jingxian
下面小編就為大家?guī)硪黄獀ue路由跳轉時判斷用戶是否登錄功能的實現。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
通過判斷該用戶是否登錄過,如果沒有登錄則跳轉到login登錄路由,如果登錄則正常跳轉。
一丶首先在用戶登錄前后分別給出一個狀態(tài)來標識此用戶是否登錄(建議用vuex);
簡單用vuex表示一下,不會可以自己去官網多看看;
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 ;
三丶重點來了;
在你的路由入口加上導航鉤子,具體什么意思看代碼;
一丶設置需要校驗的路由
{ path: ‘/admin‘,
component: Admin,
meta:{auth:true} // 設置當前路由需要校驗 不需要校驗的路由就不用寫了;不要問為什么,自己去看官網
}
二丶路由跳轉并校驗
router.beforeEach((to,from,next) => {
if(to.matched.some( m => m.meta.auth)){
// 對路由進行驗證
if(store.state.isLogin==‘100‘) { // 已經登陸
next() // 正常跳轉到你設置好的頁面
}
else{
// 未登錄則跳轉到登陸界面,query:{ Rurl: to.fullPath}表示把當前路由信息傳遞過去方便登錄后跳轉回來;
next({path:‘/login‘,query:{ Rurl: to.fullPath} })
}
}else{
next()
}
})
以上這篇vue路由跳轉時判斷用戶是否登錄功能的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue3+vite3+typescript實現驗證碼功能及表單驗證效果
這篇文章主要介紹了vue3+vite3+typescript實現驗證碼功能及表單驗證效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
axios?發(fā)?post?請求,后端接收不到參數的完美解決方案
這篇文章主要介紹了axios?發(fā)?post?請求,后端接收不到參數的解決方案,場景很簡單,就是一個正常 axios post 請求,本文給大家分享問題原因分析及解決方案需要的朋友可以參考下2022-12-12

