vue router动态路由设置参数可选问题


Posted in Javascript onAugust 21, 2019

在日常工作中,我们需要将匹配到的所有路由,映射到一个组件上。

如下代码想要达到的效果:

不传page和id,则映射到user默认list页面

传page和id,根据page不同,显示不同的页面

问题

使用以下代码片段是不能实现以上效果的,因为默认情况下page和id参数是必传的,如果不传参数,则会根据默认路由跳转到home页面

new Router({
  routes: [
    {
      path: '/user/:page/:id',
      name: 'User',
      component: () => import('pages/user')
    },
    {
      path: '*',
      redirect: '/home'
    }
  ]
})

解决方法

参数配置改成可选的

path: '/user/:page?/:id?'

ps:下面看下vue-router 动态添加 路由

   动态添加路由可以用了做权限管理。登录后服务器端返回权限菜单,前端动态添加路由  然后在设置菜单

 1、vue-router 有方法router.addRoutes(routes) 动态添加更多的路由规则。参数必须是一个符合 routes 选项要求的数组。

           使用方法 

this.$router.options.routes[0].children.push({//插入路由
 name:'list',
 path: 'list',
 component: resolve => require(['../template/list.vue'], resolve)//将组件用require引进来
});
this.$router.addRoutes(this.$router.options.routes);//调用addRoutes添加路由

我的路由文件:

export default new Router({
 routes: [
  {
   path: '/',
 
   component: index,
  },
  {
   path: '/login',
   name: 'login',
   component: login
  }
 ]

总结

以上所述是小编给大家介绍的vue router动态路由设置参数可选问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
excel操作之Add Data to a Spreadsheet Cell
Jun 12 Javascript
一个可以随意添加多个序列的tag函数
Jul 21 Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
Jan 15 Javascript
jQuery ready函数滥用分析
Feb 16 Javascript
常用Extjs工具:Extjs.util.Format使用方法
Mar 22 Javascript
jquery中map函数与each函数的区别实例介绍
Jun 23 Javascript
node.js中的fs.realpath方法使用说明
Dec 16 Javascript
JS实现的文字与图片定时切换效果代码
Oct 06 Javascript
javascript基本数据类型和转换
Mar 17 Javascript
详解如何写出一个利于扩展的vue路由配置
May 16 Javascript
详解element-ui动态限定的日期范围选择器代码片段
Jul 03 Javascript
浅谈js数组splice删除某个元素爬坑
Oct 14 Javascript
Element ui 下拉多选时新增一个选择所有的选项
Aug 21 #Javascript
js时间转换毫秒的实例代码
Aug 21 #Javascript
VUE的history模式下除了index外其他路由404报错解决办法
Aug 21 #Javascript
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 #jQuery
jqGrid表格底部汇总、合计行footerrow处理
Aug 21 #Javascript
Vue仿微信app页面跳转动画效果
Aug 21 #Javascript
Angular 中使用 FineReport不显示报表直接打印预览
Aug 21 #Javascript
You might like
多重?l件?合查?(一)
2006/10/09 PHP
解析如何屏蔽php中的phpinfo()函数
2013/06/06 PHP
destoon之一键登录设置
2014/06/21 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
javascript 设为首页与加入收藏兼容多浏览器代码
2011/01/11 Javascript
json对象转字符串如何实现
2012/12/02 Javascript
javascript中callee与caller的区别分析
2015/04/20 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
跟我学习javascript的异步脚本加载
2015/11/20 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
2016/09/01 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
JS中间件设计模式的深入探讨与实例分析
2020/04/11 Javascript
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
2018/07/02 Python
修改Pandas的行或列的名字(重命名)
2019/12/18 Python
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
几道数据库的面试题或笔试题
2014/05/31 面试题
如何写一份好的自荐信
2014/01/02 职场文书
安全教育月活动总结
2014/05/05 职场文书
拉拉队口号
2014/06/16 职场文书
企业安全生产责任书范本
2014/07/28 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android
Win11怎么解除儿童账号限制?Win11解除微软儿童账号限制方法
2022/07/07 数码科技