首頁 > web前端 > js教程 > 主體

vue路由跳轉時判斷使用者是否登入功能

小云云
發布: 2018-01-02 13:54:02
原創
3134 人瀏覽過

透過判斷該使用者是否登入過,如果沒有登入則跳到login登入路由,如果登入則正常跳轉。本文主要為大家帶來一篇vue路由跳轉時判斷使用者是否登入功能的實作。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧,希望能幫助大家。

一丶先在使用者登入前後分別給出一個狀態來識別此使用者是否登入(建議用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() 
  } 
})
登入後複製

大家學會了嗎?希望能幫助大家。

相關推薦:

實例講解微信小程式取得手機號碼授權使用者登入功能

thinkphp驗證碼登入功能的實作範例

ThinkPHP實作登入和登出登入功能碼詳解

以上是vue路由跳轉時判斷使用者是否登入功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板