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 禁用浏览器的后退功能的简单方法
Dec 10 Javascript
jQuery功能函数详解
Feb 01 Javascript
js中this用法实例详解
May 05 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
Dec 24 Javascript
基于javascript实现checkbox复选框实例代码
Jan 28 Javascript
Angular2 环境配置详细介绍
Sep 21 Javascript
Vue开发过程中遇到的疑惑知识点总结
Jan 20 Javascript
基于node.js依赖express解析post请求四种数据格式
Feb 13 Javascript
基于游标的分页接口实现代码示例
Nov 12 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
Jan 02 Javascript
JS实现指定区域的全屏显示功能示例
Apr 25 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
Jun 01 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
ThinkPHP模板Switch标签用法示例
2014/06/30 PHP
php查看当前Session的ID实例
2015/03/16 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
javascript如何写热点图
2015/12/08 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
2017/02/22 Javascript
详解vue-cli3使用
2018/08/14 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
Python的Flask框架中SQLAlchemy使用时的乱码问题解决
2015/11/07 Python
python中urlparse模块介绍与使用示例
2017/11/19 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
python全栈要学什么 python全栈学习路线
2019/06/28 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
django中的图片验证码功能
2019/09/18 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
通过自学python能找到工作吗
2020/06/21 Python
python空元组在all中返回结果详解
2020/12/15 Python
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
Lululemon英国官网:加拿大瑜伽服装品牌
2019/01/14 全球购物
世界上最大的皮肤科医生拥有和经营的美容网站:LovelySkin
2021/01/03 全球购物
方正Java笔试题
2014/07/03 面试题
《中彩那天》教学反思
2014/02/22 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
师德师风演讲稿
2014/05/05 职场文书
竞选大队干部演讲稿
2014/09/11 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python