vue路由守卫,限制前端页面访问权限的例子
今天给大家写一篇关于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路由守卫,限制前端页面访问权限的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
vue-seamless-scroll无缝滚动组件使用方法详解
这篇文章主要为大家详细介绍了vue-seamless-scroll无缝滚动组件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-04-04
Vue Mock.js介绍和使用与首页导航栏左侧菜单搭建过程
Mock.js是一个模拟数据的生成器,用来帮助前端调试开发、进行前后端的原型分离以及用来提高自动化测试效率,这篇文章主要介绍了Vue Mock.js介绍和使用与首页导航栏左侧菜单搭建,需要的朋友可以参考下2023-09-09
Vue源码之关于vm.$delete()/Vue.use()内部原理详解
这篇文章主要介绍了Vue源码之关于vm.$delete()/Vue.use()内部原理详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-05-05


最新评论