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 相关文章推荐
jQuery插件 tabBox实现代码
Feb 09 Javascript
ajax上传时参数提交不更新等相关问题
Dec 11 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
Jul 03 Javascript
node.js中的buffer.slice方法使用说明
Dec 10 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
Jan 28 Javascript
jQuery xml字符串的解析、读取及查找方法
Mar 01 Javascript
jQuery代码性能优化的10种方法
Jun 21 Javascript
JavaScript实现的CRC32函数示例
Nov 23 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
Dec 13 Javascript
angular实现商品筛选功能
Feb 01 Javascript
关于前后端json数据的发送与接收详解
Jul 30 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
Apr 18 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缩小png图片不损失透明色的解决方法
2013/12/25 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
浅谈php使用curl模拟多线程发送请求
2019/03/08 PHP
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
JavaScript通过join函数连接数组里所有元素的方法
2015/03/20 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
2016/07/25 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
Bootstrap栅格系统的使用和理解2
2016/12/14 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
node.js中express中间件body-parser的介绍与用法详解
2017/05/23 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
2017/11/06 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
vue-cli中vue本地实现跨域调试接口
2019/01/16 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
Python递归函数定义与用法示例
2017/06/02 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
Python使用Matplotlib实现Logos设计代码
2017/12/25 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
python提取xml里面的链接源码详解
2019/10/15 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
html5 Canvas画图教程(1)—画图的基本常识
2013/01/09 HTML / CSS
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
银行自荐信范文
2013/10/07 职场文书
甲方资料员岗位职责
2013/12/13 职场文书
网上商城创业计划书范文
2014/01/31 职场文书
亮化工程实施方案
2014/03/17 职场文书
化妆品活动策划方案
2014/05/23 职场文书
新教师培训方案
2014/06/08 职场文书
医院保洁服务方案
2014/06/11 职场文书
小区物业管理2015年度工作总结
2015/10/22 职场文书