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 相关文章推荐
添加JavaScript重载函数的辅助方法2
Jul 04 Javascript
jquery判断元素的子元素是否存在的示例代码
Feb 04 Javascript
js时间比较示例分享(日期比较)
Mar 05 Javascript
Javascript 绘制 sin 曲线过程附图
Aug 21 Javascript
Node.js使用NodeMailer发送邮件实例代码
Mar 06 Javascript
vue 路由页面之间实现用手指进行滑动的方法
Feb 23 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
Feb 24 jQuery
Vue 实现树形视图数据功能
May 07 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
Jan 03 Javascript
零基础之Node.js搭建API服务器的详解
Mar 08 Javascript
Vue实现数据表格合并列rowspan效果
Nov 30 Javascript
angularjs1.X 重构controller 的方法小结
Aug 15 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 has encountered an Access Violation
2007/01/15 PHP
php 数组排序 array_multisort与uasort的区别
2011/03/24 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
php的优点总结 php有哪些优点
2019/07/19 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
js 学习笔记(三)
2009/12/29 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
详解JavaScript语言的基本语法要求
2015/11/20 Javascript
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
vue配置nprogress实现页面顶部进度条
2019/09/21 Javascript
jQuery轮播图功能制作方法详解
2019/12/03 jQuery
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
javascript实现页面的实时时钟显示示例
2020/08/06 Javascript
Python外星人入侵游戏编程完整版
2020/03/30 Python
Python 多线程Threading初学教程
2017/08/22 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
python中enumerate() 与zip()函数的使用比较实例分析
2019/09/03 Python
解析Python3中的Import
2019/10/13 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
详解用Python调用百度地图正/逆地理编码API
2020/07/02 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
GLAMGLOW香港官网:明星出镜前的秘密武器
2017/03/16 全球购物
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
购房协议书范本
2014/04/11 职场文书
应届毕业生求职简历自我评价
2015/03/02 职场文书
Win11 BitLocker 驱动器加密
2022/04/19 数码科技
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android