在我们写后台管理系统中,常常涉及到角色菜单权限的控制。在有些父级目录中,我们会配置redirect属性,通常情况下,我们会指向当前路由子路由的第一个。但是如果没有配置当前路由第一个,这时候点击父级菜单,容易404,这个时候就需要我们动态配置redirect。

首先:我们先写一个函数,把当前路由的子路由传递进去,然后limits为本地所有有权限的路由,这个函数会返回当前路由中子路路由的第一个有权限的路由

export function redirectF(children){let limits=localStorage.getItem('limits')for(let i=0;i<children.length;i++){if(limits.includes(children[i].name)){return children[i].path}}
}

其次,我们在路由中就需要用到上面写的函数了,直接在redirect中写成函数的形式,直接调用该函数就可以了

import {redirectF} from '@/utils/router'
const children=[{ path: '/map/limit',  icon: 'el-icon-picture', name: 'MapLimit', title: '测试1'},{ path: '/map/source',  icon: 'el-icon-picture', name: 'MapSource', title: '测试2'},{ path: '/map/weight',  icon: 'el-icon-picture', name: 'MapWeight', title: '测试3'}
]
export default {path: '/map',  component: () => import('@/components/route/index'), name: 'Map', icon: 'el-icon-picture', title: '一张图',redirect:()=>{ return redirectF(children)},children
}

最后,就实现想要的效果了。redirect会根绝自己写的函数的返回规则返回的,这里例子为有权限的字路由列表中的第一个

vue 路由动态改变redirect值相关推荐

  1. vue路由参数改变,组件数据没重新更新问题

    最近一段时间在用vue做项目,遇到一个很纠结的问题,本来是两个页面样式结构相似,就是数据不同,所以在router里面配置了一个id参数,发现vue路由参数改变,组件数据没重新更新,查了一下官方文档,发 ...

  2. vue实现动态改变title

    vue实现动态改变title 想要实现vue动态改变页面title,需要给每个页面设置标题.并且在路由发生变化时修改页面title router - index.js const router = n ...

  3. VUE中动态改变字体大小

    VUE中动态改变字体大小 父组件将自己的数据传递送给子组件展示,子组件监听click操作,emit发送出去,父组件监听通过emit发送的信息,改变控制字体大小的postFontSize,通过style ...

  4. Vue.js动态改变样式

    动态改变样式 我们经常有这样的需求,就是用js控制css.但是我们知道js只能控制DOM层和BOM层,没有办法控制写入CSS文件.可是我们有时候偏偏需要改变样式怎么办呢?我们有两种方法: 动态改变st ...

  5. vue点击改变data值_vue 中自定义指令改变data中的值

    通过局部自定义指令实现了一个拖动的指令 html: script: methods:{ set(x,y){ this.data.x=x; this.data.y=y; } }, directives: ...

  6. Vue路由动态渲染和动态传参

    一.动态渲染路由 // router/routerjs{ path: '/movie/1', component: Movie}, //app组件<router-link to="/m ...

  7. jquery 下拉列表框 改变 动态 改变相应值

    方法一: $(document).ready(function() { $("#biId").change(function() { debugger; var srcBiUrl ...

  8. echarts动态改变series,数据重合问题

    echarts动态改变series值,来动态更新图表,发现数据有重合问题 产生原因是: Echarts会默认将更新的数据和之前数据合并 解决办法: setOption时设置第二个参数为true myC ...

  9. router vue 动态改变url_Vue教程(路由router-基本使用)

    本文开始我们来给大家介绍在Vue中非常重要的一个内容,就是路由Router 什么是路由 后端路由:对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源: 前端路由:对于 ...

最新文章

  1. 1.8M超轻量目标检测模型NanoDet,比YOLO跑得快
  2. Mac-终端hostname变为bogon的问题
  3. 功率谱密度相关方法MATLAB实现
  4. 一日千里 云计算普及势不可挡
  5. ORA-29339错误解决办法
  6. jws webservice 跳过https认证_基于OAuth2的OIDC (OpenId Connect)身份认证
  7. 搭建DNS服务,正向解析域名
  8. LL(1)文法与其对应的FOLLOW,SELECT和FIRST集
  9. axure element元件_Axure教程,产品小白从0学起
  10. windowns server 2008 R2激活工具(含win7、vista)
  11. Vmstat命令详解
  12. mine 规范_2016国家最新设计及验收标准名称汇编GB
  13. html 倒三角制作,css倒三角制作,css倒三角的原理
  14. 第二章 02 天牛质感
  15. 电脑蓝屏代码:nvlddmkm.sys的处理方法
  16. 完了,BBQ了。上班打游戏 ,被 大BOSS发现了。
  17. 戴口罩人脸识别、高精度人脸识别解决方案
  18. 2022第四届长安杯wp
  19. ServerThread
  20. sklearn降维算法:PCA、LDA、MDS、流形学习Isomap

热门文章

  1. 传统图像分类算法总结
  2. JS中window对象的opener属性
  3. 网摘--网络时代的沉淀方式之一
  4. 基于python+django学生信息管理系统设计与实现(含程序源码和毕业设计)
  5. Delegate使用方法
  6. 股票交易接口有没有提供试用的?
  7. hive日期维表 上周五到本周四为一周
  8. 网络流量可视化分析平台-流影-FlowShadow
  9. watch 命令的使用
  10. 未闻花名歌词--此曲只应天上有