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 Plugin 插件的方法
Apr 20 Javascript
JavaScript arguments 多参传值函数
Oct 24 Javascript
Javascript 按位与运算符 (&)使用介绍
Feb 04 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
Sep 04 Javascript
JavaScript实现标题栏文字轮播效果代码
Oct 24 Javascript
jQuery遍历DOM元素与节点方法详解
Apr 14 Javascript
jQuery多个版本和其他js库冲突的解决方法
Aug 11 Javascript
Bootstrap3 图片(响应式图片&图片形状)
Jan 04 Javascript
解决ie img标签内存泄漏的问题
Oct 13 Javascript
JavaScript在web自动化测试中的作用示例详解
Aug 25 Javascript
vue 使用async写数字动态加载效果案例
Jul 18 Javascript
vue解决跨域问题(推荐)
Nov 10 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
几种显示数据的方法的比较
2006/10/09 PHP
php下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
Smarty Foreach 使用说明
2010/03/23 PHP
mayfish 数据入库验证代码
2010/04/30 PHP
WordPress网站性能优化指南
2015/11/18 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
学习ExtJS accordion布局
2009/10/08 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
jQuery插件slick实现响应式移动端幻灯片图片切换特效
2015/04/12 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
详解jQuery中的deferred对象的使用(一)
2016/05/27 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
Angular项目中$scope.$apply()方法的使用详解
2017/07/26 Javascript
详解Node中导入模块require和import的区别
2017/08/11 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
使用wxPython获取系统剪贴板中的数据的教程
2015/05/06 Python
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
python利用pandas将excel文件转换为txt文件的方法
2018/10/23 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
摄影专业毕业生求职信
2014/03/13 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
病危通知书样本
2015/04/17 职场文书
2016小学新学期寄语
2015/12/04 职场文书
Python面试不修改数组找出重复的数字
2022/05/20 Python