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


Posted in Javascript onOctober 26, 2017

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

Javascript 相关文章推荐
jquery按回车提交数据的代码示例
Nov 05 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
Jan 31 Javascript
JavaScript列表框listbox全选和反选的实现方法
Mar 18 Javascript
使用纯javascript实现经典扫雷游戏
Apr 23 Javascript
JQuery分屏指示器图片轮换效果实例
May 21 Javascript
JavaScript实现动态添加,删除行的方法实例详解
Jul 02 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
Aug 02 Javascript
小程序实现带年月选取效果的日历
Jun 27 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
Nov 05 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
Sep 24 Javascript
VUE 单页面使用 echart 窗口变化时的用法
Jul 30 Javascript
webpack3之loader全解析
Oct 26 #Javascript
JS使用正则表达式找出最长连续子串长度
Oct 26 #Javascript
AngularJS实现的输入框字数限制提醒功能示例
Oct 26 #Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
Oct 26 #Javascript
详谈构造函数加括号与不加括号的区别
Oct 26 #Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
Oct 26 #Javascript
纯JavaScript实现实时反馈系统时间
Oct 26 #Javascript
You might like
PHP动态分页函数,PHP开发分页必备啦
2011/11/07 PHP
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
PHP获取当前日期及本周一是几月几号的方法
2017/03/28 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
Javascript 篱式条件判断
2008/08/22 Javascript
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
2011/07/27 Javascript
探索Emberjs制作一个简单的Todo应用
2012/11/07 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
理解Javascript图片预加载
2016/02/23 Javascript
JS组件Bootstrap Table布局详解
2016/05/27 Javascript
微信小程序 数据访问实例详解
2016/10/08 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
2017/07/03 Javascript
解决vuex数据页面刷新后初始化操作
2020/07/26 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
tornado捕获和处理404错误的方法
2014/02/26 Python
python tornado微信开发入门代码
2018/08/24 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
python将时分秒转换成秒的实例
2019/12/07 Python
keras实现图像预处理并生成一个generator的案例
2020/06/17 Python
Pytorch生成随机数Tensor的方法汇总
2020/09/09 Python
秋天的图画教学反思
2014/05/01 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
搞笑的获奖感言
2014/08/16 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
党风廉正建设个人工作总结
2015/03/06 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
MybatisPlus EntityWrapper如何自定义SQL
2022/03/22 Java/Android