亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vue路由跳轉時判斷用戶是否登錄功能

vue路由跳轉時判斷用戶是否登錄功能

哈士奇WWW 2019-01-03 02:02:57
vue路由跳轉時判斷用戶是否登錄功能
查看完整描述

1 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

一丶首先在用戶登錄前后分別給出一個狀態來標識此用戶是否登錄(建議用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;
}
};
復制代碼
二丶在用戶登錄時改變登錄狀態;
1
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()
}
})



查看完整回答
1 反對 回復 2019-01-06
  • 我好菜的
    我好菜的
    很有用,我按照別人的案例打了一遍,但是有些地方不太懂,層主的注釋給了我很大幫助,謝謝。
  • 1 回答
  • 0 關注
  • 3049 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號