vue router 用户登陆功能的实例代码


Posted in Javascript onApril 24, 2019

有些路由页面需要用户登陆之后才能访问如(用户中心),如果用户没有登陆就访问这些页面的话就应该转换到登陆页面,登陆成功之后在进入该页面。

需要用到的知识点有:H5中的会话存储(sessionStorage)、vue-router路由前置操作、路由元信息(meta).

路由配置

在路由页面中添加auth字段信息用于验证当前路由页面是否需要登陆。

const router = new Router({
  mode: 'history',
  base: process.env.BASE_URL,
  routes: [
    {
      path: "/login",
      name: "login",
      component: () => import("./views/Login.vue")
    },
    {
      path: "/member",
      meta: {
        auth: true  // 用于判断当前路由是否需要登陆
      },
      component: () => import('./views/Member.vue')
    }
  ]
});

全局前置操作

// 登陆验证
const Token = "XH-TOKEN";
router.beforeEach((to, from, next) => {
  let validator = typeof to.meta.auth == "undefined" || !to.meta.auth || sessionStorage.getItem(Token);
  let result = validator ? {} : {
    name: "login",// 跳转到命名路由
    query: {
      url: to.fullPath  // 做一个来源页面,用于登陆成功之后跳转
    }
  };
  next(result);
});

注意:登陆成功之后要用 sesionStorage.setItem设置会话值

总结

以上所述是小编给大家介绍的vue router 用户登陆功能的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
js获取元素在浏览器中的绝对位置
Jul 24 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
Sep 30 Javascript
javascript 对象数组根据对象object key的值排序
Mar 09 Javascript
基于jquery实现省市区三级联动效果
Dec 25 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
Jan 27 Javascript
JS实现获取当前URL和来源URL的方法
Aug 24 Javascript
Angularjs的Controller间通信机制实例分析
Nov 07 Javascript
JS使用tofixed与round处理数据四舍五入的区别
Oct 25 Javascript
总结javascript三元运算符知识点
Sep 28 Javascript
vue在路由中验证token是否存在的简单实现
Nov 11 Javascript
判断JavaScript中的两个变量是否相等的操作符
Dec 21 Javascript
基于html+css+js实现简易计算器代码实例
Feb 28 Javascript
10个最受欢迎的 JavaScript框架(推荐)
Apr 24 #Javascript
vue.js多页面开发环境搭建过程
Apr 24 #Javascript
小程序实现订单倒计时功能
Apr 23 #Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
Apr 23 #Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
Apr 23 #Javascript
vue缓存的keepalive页面刷新数据的方法
Apr 23 #Javascript
Vue 指令实现按钮级别权限管理功能
Apr 23 #Javascript
You might like
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
laravel 修改记住我功能的cookie保存时间的方法
2019/10/14 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
jquery.validate提示错误信息位置方法
2016/01/22 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
vue+mockjs模拟数据实现前后端分离开发的实例代码
2017/08/08 Javascript
JS库之wow.js使用方法
2017/09/14 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
vue中引用阿里字体图标的方法
2018/02/10 Javascript
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
2020/07/31 Javascript
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
python之wxPython应用实例
2014/09/28 Python
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
python获取txt文件词向量过程详解
2019/07/05 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
教师自荐书
2013/10/08 职场文书
活动邀请函范文
2014/01/19 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
伊索寓言教学反思
2014/05/01 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
2014年网管工作总结
2014/12/11 职场文书
组织生活会发言材料
2014/12/15 职场文书
财务工作个人总结
2015/02/27 职场文书
2016关于读书活动的心得体会
2016/01/14 职场文书
详解MySQL数据库千万级数据查询和存储
2021/05/18 MySQL