当前位置: 移动技术网 > IT编程>脚本编程>vue.js > vue路由跳转时判断用户是否登录功能的实现

vue路由跳转时判断用户是否登录功能的实现

2017年12月12日  | 移动技术网IT编程  | 我要评论

山西王家岭煤矿,劫天运共多少章,暗夜心慌慌第二部

通过判断该用户是否登录过,如果没有登录则跳转到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路由跳转时判断用户是否登录功能的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网