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 相关文章推荐
自适应图片大小的弹出窗口
Jul 27 Javascript
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
Mar 24 Javascript
jquery图片上下tab切换效果
Mar 18 Javascript
『jQuery』取指定url格式及分割函数应用
Apr 22 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
Oct 18 Javascript
jQuery中的val()示例应用
Feb 26 Javascript
JavaScript事件代理和委托详解
Apr 08 Javascript
安装vue-cli的简易过程
May 22 Javascript
浅谈如何使用webpack构建多页面应用
May 30 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
Aug 19 Javascript
vue实现点击隐藏与显示实例分享
Feb 13 Javascript
如何在VUE中使用vue-awesome-swiper
Jan 04 Vue.js
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正则校验用户名介绍
2008/07/19 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
10条php编程小技巧
2015/07/07 PHP
浅谈php错误提示及查错方法
2015/07/14 PHP
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
2017/03/29 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
加速IE的Javascript document输出的方法
2010/12/02 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
Javascript实现找不同色块的游戏
2017/07/17 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
Python列表推导式的使用方法
2013/11/21 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
python装饰器深入学习
2018/04/06 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
提高python代码运行效率的一些建议
2020/09/29 Python
what is the difference between ext2 and ext3
2013/11/03 面试题
设计模式的基本要素是什么
2014/04/21 面试题
个人简历的自荐信
2013/10/23 职场文书
音乐系毕业生自荐信
2013/10/27 职场文书
企划主管岗位职责
2013/12/12 职场文书
违纪检讨书2000字
2014/02/08 职场文书
征婚广告词
2014/03/17 职场文书
停车位租赁协议书
2014/09/24 职场文书
正风肃纪剖析材料
2014/09/30 职场文书