JavaScript

超轻量级php框架startmvc

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

更新时间:2020-09-22 09:12:01 作者:startmvc
今天给大家写一篇关于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 路由守卫 页面 权限