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 相关文章推荐
ExtJS 2.0 实用简明教程之布局概述
Apr 29 Javascript
JQuery Dialog的内存泄露问题解决方法
Jun 18 Javascript
为jQuery增加join方法的实现代码
Nov 28 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
Jul 04 Javascript
js 实现菜单上下显示附效果图
Nov 21 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
Jan 09 Javascript
本人自用的global.js库源码分享
Feb 28 Javascript
javascript cookie的简单应用
Feb 24 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
Jan 23 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
Jan 23 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
Mar 03 Javascript
微信小程序实现左侧滑动导航栏
Apr 08 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
PHP 如何向 MySQL 发送数据
2006/10/09 PHP
fleaphp下不确定的多条件查询的巧妙解决方法
2008/09/11 PHP
php获取远程图片体积大小的实例
2013/11/12 PHP
JavaScript编程开发中的五个实用小技巧
2010/07/22 Javascript
js 用CreateElement动态创建标签示例
2013/11/20 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
javascript 中__proto__和prototype详解
2014/11/25 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
2015/03/04 Javascript
js获取页面description的方法
2015/05/21 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
nodejs实现发出蜂鸣声音(系统报警声)的方法
2017/01/18 NodeJs
详解Vue中使用v-for语句抛出错误的解决方案
2017/05/04 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
2018/11/30 Javascript
微信小程序开发注意指南和优化实践(小结)
2019/06/21 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
处理Python中的URLError异常的方法
2015/04/30 Python
将Emacs打造成强大的Python代码编辑工具
2015/11/20 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
python在地图上画比例的实例详解
2020/11/13 Python
Python3 用什么IDE开发工具比较好
2020/11/28 Python
俄罗斯品牌服装和鞋子的在线商店:KUPIVIP
2019/10/27 全球购物
英国珠宝和手表专家:Pleasance & Harper
2020/10/21 全球购物
党校个人自我鉴定范文
2014/03/28 职场文书
试用期转正员工自我评价
2014/09/18 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
民政工作个人总结
2015/02/28 职场文书
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
2021/05/05 Golang
Pandas 稀疏数据结构的实现
2021/07/25 Python
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript