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 相关文章推荐
一些javascript一些题目的解析
Dec 25 Javascript
为jquery的ajaxfileupload增加附加参数的方法
Mar 04 Javascript
js和jquery如何获取图片真实的宽度和高度
Sep 28 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
Mar 13 Javascript
C++中的string类的用法小结
Aug 07 Javascript
javascript单页面手势滑屏切换原理详解
Mar 21 Javascript
JavaScript交换两个变量值的七种解决方案
Dec 01 Javascript
JavaScript设计模式之调停者模式实例详解
Feb 03 Javascript
Vue-cli3简单使用(图文步骤)
Apr 30 Javascript
vue+element项目中过滤输入框特殊字符小结
Aug 07 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
Jun 24 jQuery
vue+node 实现视频在线播放的实例代码
Oct 19 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
php更新mysql后获取影响的行数发生异常解决方法
2013/03/28 PHP
php 生成签名及验证签名详解
2016/10/26 PHP
jquery判断浏览器类型的代码
2012/11/05 Javascript
使用js操作cookie的一点小收获分享
2013/09/03 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
2015/01/23 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
全面介绍javascript实用技巧及单竖杠
2016/07/18 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
vue.js学习之vue-cli定制脚手架详解
2017/07/02 Javascript
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
解决vue项目F5刷新mounted里的函数不执行问题
2019/11/05 Javascript
js通过循环多张图片实现动画效果
2019/12/19 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
2020/12/10 Javascript
[00:42]《辉夜杯》—职业组预选赛12月3日15点 正式打响
2015/12/03 DOTA
[43:32]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
python urllib爬取百度云连接的实例代码
2017/06/19 Python
Python将string转换到float的实例方法
2019/07/29 Python
python opencv如何实现图片绘制
2020/01/19 Python
Python使用xpath实现图片爬取
2020/09/16 Python
HTML5 Canvas基本线条绘制的实例教程
2016/03/17 HTML / CSS
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
Javascript如何发送一个Ajax请求
2015/01/26 面试题
幼儿园个人师德总结
2015/02/06 职场文书
简历自我评价模板
2015/03/11 职场文书
安全生产会议制度
2015/08/06 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
WebWorker 封装 JavaScript 沙箱详情
2021/11/02 Javascript