vue路由守卫,限制前端页面访问权限的例子


Posted in Javascript onNovember 11, 2019

今天给大家写一篇关于vue校验登录状态,如果是非法登录就跳转到登录页面的逻辑

首先需要写一个路由守卫,它的原理是每次路由发生变化时触发具体写法如下:

router.beforeEach((to, from, next) => {
  next()
})

beforeEach函数有三个参数:

to:即将进入的路由对象

from:当前导航即将离开的路由

next,进行管道中的一个钩子,如果执行完了,则导航的状态就是 confirmed (确认的);否则为false,终止导航。

使用案例

限制登陆功能,具体实现思路:每次跳转路由是判断本地 localStorage.getItem('token') 状态

首先找到router/index.js如下

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
 
const router = new Router({
 routes: [{
   path: '/',
   name: 'HelloWorld',
   component: HelloWorld
  },
  {
   path: '/login',
   name: 'login',
   component: login
  }
 ]
})
//下面是重点 
router.beforeEach((to, from, next) => {
 let token = localStorage.getItem('token') 
 if (to.path == '/login') {
  next()
 } else {
  if (token == '' || token == null) {
   next('/login');
  } else {
   next()
  }
 }
 
})
 
export default router;

解释:index.js写成如上形式,用const router 接受 new Router对象,最后export暴露出去

router.beforeEach 在每次路由跳转出发

let token = localStorage.getItem('token') 获取本地没有没token 如果没有就跳到login页面 很简单的逻辑

以上这篇vue路由守卫,限制前端页面访问权限的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
漂亮的提示信息(带箭头)
Mar 21 Javascript
javascript Select标记中options操作方法集合
Oct 22 Javascript
jquery插件jbox使用iframe关闭问题
Feb 09 Javascript
firefox下对ajax的onreadystatechange的支持情况分析
Dec 14 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
Nov 18 Javascript
javascript写的一个模拟阅读小说的程序
Apr 04 Javascript
Jquery对象和Dom对象的区别分析
Nov 20 Javascript
node.js中的fs.fstatSync方法使用说明
Dec 15 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
Dec 08 Javascript
bootstrap提示标签、提示框实现代码
Dec 28 Javascript
ionic 自定义弹框效果
Jun 27 Javascript
Angular通过指令动态添加组件问题
Jul 09 Javascript
vue在路由中验证token是否存在的简单实现
Nov 11 #Javascript
vuex存储token示例
Nov 11 #Javascript
Vuex实现数据增加和删除功能
Nov 11 #Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
Nov 11 #Javascript
vue 实现通过vuex 存储值 在不同界面使用
Nov 11 #Javascript
使用vuex存储用户信息到localStorage的实例
Nov 11 #Javascript
JS中比较两个Object数组是否相等方法实例
Nov 11 #Javascript
You might like
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
php tp验证表单与自动填充函数代码
2012/02/22 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
js 数组操作代码集锦
2009/04/28 Javascript
Firefox outerHTML实现代码
2009/06/04 Javascript
基于dom编程中 动态创建与删除元素的使用
2013/04/17 Javascript
JavaScript新窗口与子窗口传值详解
2014/02/11 Javascript
JsRender for object语法简介
2014/10/31 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
微信小程序 支付简单实例及注意事项
2017/01/06 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
jQuery中DOM常见操作实例小结
2019/08/01 jQuery
vant 解决tab切换插件标题样式自定义的问题
2020/11/13 Javascript
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
linux环境下python中MySQLdb模块的安装方法
2017/06/16 Python
基于MTCNN/TensorFlow实现人脸检测
2018/05/24 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
运动会获奖感言
2014/02/11 职场文书
社区工作者感言
2014/03/02 职场文书
法律六进活动方案
2014/03/13 职场文书
歌唱比赛主持词
2014/03/18 职场文书
会计学毕业生求职信
2014/06/25 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
北京故宫的导游词
2015/01/31 职场文书
法院个人总结
2015/03/03 职场文书