vue-route基于动态加载路由配置的权限管理

本文介绍在前端开发中,如何基于动态加载的路由配置实现权限管理。首先清空原路由配置,然后格式化后台提供的路由,使其符合 vue-router 的要求,接着添加格式化后的路由,最后处理页面刷新时的路由配置恢复,确保路由安全且不会导致空白页面。
摘要由CSDN通过智能技术生成

vue-route基于动态加载路由配置的权限管理

在路由权限管理的开发过程中,基于不将用户的配置信息保留在前端的考虑,我着重研究了关于路由配置的动态加载方法。记录如下:

这里我从后端获取的路由配置如下:

routes:[
	{
   
		path: "/home",
		name: "home",
		componentPath: "views/Home",
		children: [
			{
   
				path: "/homeChild",
				name: "homeChild",
				componentPath: "views/Home/HomeChild"
			}
		]
	}
]

得到这个路由配置之后我需要做如下工作:

  1. 清空原路由配置(如果有多个内置系统,涉及多菜单切换的时候);
  2. 格式化后台路由配置,让配置格式符合 vue-router 的要求;
  3. 添加路由配置;
  4. 刷新处理。

下面我们一个一个来说。

清空原路由配置

我在一次项目需求中碰到过这样的情况。一个系统中有两个子系统,这两个子系统的菜单都是根据他们的路由配置动态生成的。路由配置变化,菜单就会响应变化。但是多个系统之间出现路由重名的可能性就大大增加了,毕竟还是要保证路由配置的可读性,名字也不能乱起。所以每次切换系统的时候就需要清空原路由配置。

在这里我给 vue-router 的实例增加了一个新的方法,$addRoutes这个方法既完成了原路由的清空工作,也完成了新增路由的工作。这里我们只看清空原路由配置的相关代码。

import Vue from "vue";
import VueRouter from "vue-router";

Vue.use(VueRouter);

const baseRoutes = [
  {
   
    path: "/",
    name: "Login",
    component: () =
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值