当路由信息全部由后台返回时,基于之前的路由遍历开发

当路由信息完全由后台提供时,可能会遇到组件引用问题。本文介绍了如何通过创建一个JS文件来映射这些路由,将路由信息存储在Vuex中,并在main.js中设置路由拦截器。虽然方案简洁,但对某些细节处理仍有优化空间,欢迎讨论。
摘要由CSDN通过智能技术生成

路由权限表全部由后台返回时,会出现component指向问题,可新建一个js文件,用来映射,如下

js

var map = new Map()

map.set("index", () =>
    import ('@/views/index.vue'))
map.set("h1", () =>
    import ('@/index/home1.vue'))
map.set("h2", () =>
    import ('@/index/home2.vue'))


console.log("执行了")

function getRouterList() {
    //登录之后获取动态路由
    let userRouter = JSON.parse(unescape(localStorage.getItem('roleinfo')))
    digui(userRouter)

    function digui(userRouter) { //递归,将后台传来的字符串组件名指向本地组件
        userRouter.forEach(function(value, index, array) {
            if (array[index].children && array[index].children != null) {
                digui(array[index].children)
            }
            array[index].component = map.get(array[index].component) //遍历,通过映射找到我们定义好的组件
        })
    }
    return (userRouter);
}

export default {
    mod
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
动态路由配置是一种在Vue后台管理系统中根据用户权限动态生成路由的方法。下面是一个示例演示如何配置动态路由: 1. 首先,在后端根据用户的权限生成动态路由数据。可以使用后端框架(如Node.js)从数据库或其他数据源获取用户权限信息,并根据权限信息生成对应的路由数据。 2. 在前端的路由配置文件中引入动态路由数据。在Vue项目的路由配置文件(通常是router/index.js)中,引入动态路由数据,并将其添加到路由配置中。 ```javascript import Vue from 'vue' import VueRouter from 'vue-router' import constantRouterMap from './constantRouterMap' import dynamicRouterMap from './dynamicRouterMap' // 引入动态路由数据 Vue.use(VueRouter) const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes: constantRouterMap.concat(dynamicRouterMap) // 将动态路由数据添加到路由配置中 }) export default router ``` 3. 在前端根据用户权限动态生成路由菜单。在侧边栏组件中,根据用户的权限信息,动态生成对应的路由菜单。可以使用Vue的v-for指令遍历路由数据,并根据权限信息判断是否显示对应的菜单项。 ```html <template> <div> <ul> <li v-for="route in routes" :key="route.path" v-if="hasPermission(route)"> <router-link :to="route.path">{{ route.name }}</router-link> </li> </ul> </div> </template> <script> export default { computed: { routes() { return this.$router.options.routes } }, methods: { hasPermission(route) { // 根据用户权限判断是否显示菜单项 // 可以根据用户权限信息路由配置中的meta字段进行判断 // 返回true表示有权限,返回false表示无权限 } } } </script> ``` 通过以上步骤,就可以实现在Vue后台管理系统中根据用户权限动态生成路由,并在侧边栏中显示对应的菜单项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值