vue实现未登录跳转到登录页面的方法


Posted in Javascript onJuly 17, 2018

环境:vue 2.9.3; webpack;vue-router

目的:实现未登录跳转

例子:直接在url地址栏输入...../home,但是这个页面要求需要登陆之后才能进入,判断的值就通过登陆之后给本地缓存存入的token判断,如果没有就跳转到登录页面,有的话就打开。

图示:

1、直接在url地址栏输入http://127.0.0.1:9000/#/home,但是页面会直接跳转到登录页,而且会带上参数。

vue实现未登录跳转到登录页面的方法

vue实现未登录跳转到登录页面的方法

--------------------------------------------分割线----------------------------------------------

vue-router需要安装

首先配置路由

/src/router/index.js

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
 routes: [
  {
   path: '/',// 登录
   name: 'Login',
   component: resolve => require(['@/PACS/pages/Login'],resolve)
  },{
   path: '/home',
   name: 'Home',
   meta: {
    requireAuth: true, // 判断是否需要登录
   },
   component: resolve => require(['@/PACS/pages/Home'],resolve)
  } 
  ]
})
 ## 增加了字段 requireAuth 用来判断该路由是否需要登录。

然后配置main.js

// 路由判断登录 根据路由配置文件的参数
router.beforeEach((to, from, next) => {
 if (to.matched.some(record => record.meta.requireAuth)){ // 判断该路由是否需要登录权限
  console.log('需要登录');
  if (localStorage.token) { // 判断当前的token是否存在 ; 登录存入的token
   next();
  }
  else {
   next({
    path: '/',
    query: {redirect: to.fullPath} // 将跳转的路由path作为参数,登录成功后跳转到该路由
   })
  }
 }
 else {
  next();
 }
});

这里是登录时存入的token

vue实现未登录跳转到登录页面的方法

##这样的话登录时就会直接跳转到登录页面。

实现登录成功后再跳回开始输入的页面,就要用到后面传递的值了。

vue实现未登录跳转到登录页面的方法

vue实现未登录跳转到登录页面的方法

如果包含redirect就跳转到刚刚输入的页面。

注意:如果将用户数据保存到localstorage是不合理的,这里只是给出一种思路,如果登陆之后不清空浏览器数据,token一直存在的,判断就会失效。

总结

以上所述是小编给大家介绍的vue实现未登录跳转到登录页面,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
May 03 Javascript
Javascript的构造函数和constructor属性
Jan 09 Javascript
JavaScript中json对象和string对象之间相互转化
Dec 26 Javascript
JavaScript简单实现网页回到顶部功能
Nov 12 Javascript
jQuery实现动画效果的简单实例
Jan 27 Javascript
Jquery实现的一种常用高亮效果示例代码
Jan 28 Javascript
jQuery插件实现大图全屏图片相册
Mar 14 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
Apr 28 Javascript
JS表单数据验证的正则表达式(常用)
Feb 18 Javascript
Vue的轮播图组件实现方法
Mar 03 Javascript
vue弹窗组件使用方法
Apr 28 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
Dec 09 Javascript
打通前后端构建一个Vue+Express的开发环境
Jul 17 #Javascript
详解如何从零开始搭建Express+Vue开发环境
Jul 17 #Javascript
微信小程序自定义组件之可清除的input组件
Jul 17 #Javascript
微信小程序倒计时功能实例代码
Jul 17 #Javascript
详解vue+webpack+express中间件接口使用
Jul 17 #Javascript
微信小程序实现默认第一个选中变色效果
Jul 17 #Javascript
Vue2.X 通过AJAX动态更新数据
Jul 17 #Javascript
You might like
php使用curl并发减少后端访问时间的方法分析
2016/05/12 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
动态添加js事件实现代码
2009/03/12 Javascript
Javascript 中的类和闭包
2010/01/08 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
编写高质量JavaScript代码的基本要点
2016/03/02 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
详解基于vue-cli优化的webpack配置
2017/11/06 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
JS 实现分页打印功能
2018/05/16 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
ES6函数实现排它两种写法解析
2020/05/13 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
python实现给数组按片赋值的方法
2015/07/28 Python
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
Python API len函数操作过程解析
2020/03/05 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
全球领先美式家具品牌:Ashley爱室丽家居
2017/08/07 全球购物
创先争优承诺书范文
2014/03/31 职场文书
财务部副经理岗位职责范本
2014/06/17 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
乡镇党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
员工加薪申请报告
2015/05/15 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书
导游词之五台山
2019/10/11 职场文书
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js
最新动漫情报:2022年7月新番定档超过30部, OVERLORD骨王第四季也在其中噢
2022/05/04 日漫