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 相关文章推荐
jquery 分页控件实现代码
Nov 30 Javascript
javascript数组遍历for与for in区别详解
Dec 04 Javascript
浅谈Javascript事件对象
Feb 05 Javascript
angular+ionic返回上一页并刷新页面
Aug 08 Javascript
限时抢购-倒计时的完整实例(分享)
Sep 17 Javascript
Angular2监听页面大小变化的解决方法
Oct 09 Javascript
vue.js中实现登录控制的方法示例
Apr 23 Javascript
新手必须知的Node.js 4个JavaScript基本概念
Sep 16 Javascript
vue 本地环境跨域请求proxyTable的方法
Sep 19 Javascript
webpack HappyPack实战详解
Oct 08 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
Nov 09 Javascript
vue 遮罩层阻止默认滚动事件操作
Jul 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
PHP使用正则表达式清除超链接文本
2013/11/12 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
php建立Ftp连接的方法
2015/03/07 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
2017/03/14 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
jquery实现根据浏览器窗口大小自动缩放图片的方法
2015/07/17 Javascript
javascript实现鼠标放上后下边对应内容变换的效果
2015/08/06 Javascript
js动态生成Html元素实现Post操作(createElement)
2015/09/14 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
JavaScript文档加载模式以及元素获取
2020/07/28 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
Python和C/C++交互的几种方法总结
2017/05/11 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
对Tensorflow中tensorboard日志的生成与显示详解
2020/02/04 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
印度在线购物网站:Paytmmall
2019/07/24 全球购物
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
期末自我鉴定
2014/01/23 职场文书
英语专业自荐书
2014/06/13 职场文书
卖房授权委托书样本
2014/10/05 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
工资证明格式模板
2015/06/12 职场文书
小学大队干部竞选稿
2015/11/20 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书