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做flash做的事..才完成的一个类.Auntion Action var 0.1
Feb 23 Javascript
JavaScript 事件查询综合
Jul 13 Javascript
JSON 编辑器实现代码
Dec 06 Javascript
JS自定义选项卡函数及用法实例分析
Sep 02 Javascript
Bootstrap3.0学习教程之JS折叠插件
May 27 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
May 08 Javascript
jQuery基于Ajax实现读取XML数据功能示例
May 31 jQuery
node基于async/await对mysql进行封装
Jun 20 Javascript
Vue动态面包屑功能的实现方法
Jul 01 Javascript
JavaScript生成一个不重复的ID的方法示例
Sep 16 Javascript
微信小程序点击保存图片到本机功能
Dec 13 Javascript
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
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
论建造顺序的重要性
2020/03/04 星际争霸
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
laravel批量生成假数据的方法
2019/10/09 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
javascript中的对象创建 实例附注释
2011/02/08 Javascript
jquery插件制作简单示例说明
2012/02/03 Javascript
Javascript中string转date示例代码
2013/11/01 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
JavaScript动态添加列的方法
2015/03/25 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
javascript实现拖动元素交换位置
2015/11/29 Javascript
javascript实现网页端解压并查看zip文件
2015/12/15 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
原生js实现对Ajax的封装(仿jquery)
2017/01/22 Javascript
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
vue基于element-ui的三级CheckBox复选框功能的实现代码
2018/10/15 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
[06:35]2014DOTA2国际邀请赛 老男孩梦圆西雅图中国军团世界最强
2014/07/22 DOTA
使用Python抓取模板之家的CSS模板
2015/03/16 Python
python3操作mysql数据库的方法
2017/06/23 Python
Python 中的range(),以及列表切片方法
2018/07/02 Python
Python 访问限制 private public的详细介绍
2018/10/16 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
基于torch.where和布尔索引的速度比较
2020/01/02 Python
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
三好学生主要事迹材料
2015/11/03 职场文书
学习杨善洲同志先进事迹心得体会
2016/01/23 职场文书
python百行代码实现汉服圈图片爬取
2021/11/23 Python
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技