vue路由跳转权限验证
权限控制的方法:
1.路由元信息(meta)
2.动态加载菜单和路由(addRoutes)
一、路由元信息
方式一:
钩子函数:
Vue.beforeEach(function(to,form,next){})/*在跳转之前执行*/
Vue.afterEach(function(to,form))/*在跳转之后判断*/
to:router即将进入的路由对象
from:当前导航即将离开的路由
next:Function,进行管道中的一个钩子,如果执行完了,则导航的状态就是 confirmed (确认的);否则为false,终止导航。
路由部分:
{
path: '/',
name: 'index',
meta: {
roles: ['admin', 'user']
},
component: () => import('../views/Index.vue')
},
{
path: '/about',
name: 'about',
meta: {
roles: ['admin']
},
main.js部分:
//假设有两种角色:admin 和 user
//从后台获取的用户角色
const role = "user";
//当进入一个页面是会触发导航守卫 router.beforeEach 事件
router.beforeEach((to, from, next) => {
if (to.meta.roles.includes(role)) {
next();
//放行
} else {
alert(404)
}
});
方式二:
写好路由表和vuex,给所有路由设置一个全局守卫,在进入路由之前进行权限检查,并导航到对应的路由。
【vue路由跳转权限验证】二、动态加载菜单和路由(addRoutes)
参考链接:https://www.jb51.net/article/167822.htm
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- 2020-04-07vue中Axios的封装和API接口的管理
- VueX--VUE核心插件
- vue组件中为何data必须是一个函数()
- 用npm发布一个包的教程并编写一个vue的插件发布
- vuex|vuex 基础结构
- Vue源码分析—响应式原理(二)
- VueX(Vuex|VueX(Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式)
- vue中的条件判断详解v-if|vue中的条件判断详解v-if v-else v-else-if v-show
- 如何在手机上查看测试vue-cli构建的项目