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技巧来提高你的代码
Jan 08 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
Apr 14 Javascript
JavaScript高级程序设计(第3版)学习笔记 概述
Oct 11 Javascript
JavaScript 学习笔记之基础中的基础
Jan 13 Javascript
JS实现网页滚动条感应鼠标变色的方法
Feb 26 Javascript
JS动态改变表格边框宽度的方法
Mar 31 Javascript
jQuery基于扩展实现的倒计时效果
May 14 Javascript
js 获取元素所有兄弟节点的实现方法
Sep 06 Javascript
jQuery判断邮箱格式对错实例代码讲解
Apr 12 jQuery
React 项目迁移 Webpack Babel7的实现
Sep 12 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
Feb 25 Javascript
Vue $emit()不能触发父组件方法的原因及解决
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计算加权平均数的方法
2015/07/16 PHP
PHP微信公众号自动发送红包API
2016/06/01 PHP
PHP查询分页的实现代码
2017/06/09 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
2013/04/02 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
vue resource post请求时遇到的坑
2017/10/19 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
[00:52]DOTA2国际邀请赛
2020/02/21 DOTA
python提取内容关键词的方法
2015/03/16 Python
Python使用pygame模块编写俄罗斯方块游戏的代码实例
2015/12/08 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
Python运维之获取系统CPU信息的实现方法
2018/06/11 Python
Django框架模板介绍
2019/01/15 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
详解js文件通过python访问数据库方法
2019/03/03 Python
用Python实现职工信息管理系统
2020/12/30 Python
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
计算机毕业大学生推荐信
2013/12/01 职场文书
员工薪酬福利制度
2014/01/17 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
Ruby GDBM操作简介及数据存储原理
2022/04/19 Ruby
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js