您好,登錄后才能下訂單哦!
通過判斷該用戶是否登錄過,如果沒有登錄則跳轉到login登錄路由,如果登錄則正常跳轉。
一丶首先在用戶登錄前后分別給出一個狀態來標識此用戶是否登錄(建議用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; } };
二丶在用戶登錄時改變登錄狀態;
this.$store.commit(‘changeLogin‘,‘100‘) //登錄后改變登錄狀態 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路由跳轉時判斷用戶是否登錄功能的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。