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通过class来获取元素实现代码
Feb 20 Javascript
js和jquery对dom节点的操作(创建/追加)
Apr 21 Javascript
js实现select组件的选择输入过滤代码
Oct 14 Javascript
浅谈 javascript 事件处理
Jan 04 Javascript
ajax在兼容模式下失效的快速解决方法
Mar 22 Javascript
详解前端自动化工具gulp自动添加版本号
Dec 20 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
Mar 24 jQuery
快速掌握jquery分页插件jqPaginator的使用方法
Aug 09 jQuery
js中apply与call简单用法详解
Nov 06 Javascript
ES6入门教程之Array.from()方法
Mar 23 Javascript
javascript全局自定义鼠标右键菜单
Dec 08 Javascript
React如何使用axios请求数据并把数据渲染到组件
Aug 05 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之第十天
2006/10/09 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
php实现word转html的方法
2016/01/22 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
IE与FF下javascript获取网页及窗口大小的区别详解
2014/01/14 Javascript
jQuery改变form表单的action,并进行提交的实现代码
2016/05/25 Javascript
prototype.js常用函数详解
2016/06/18 Javascript
js操作DOM--添加、删除节点的简单实例
2016/07/08 Javascript
基于Vue.js实现数字拼图游戏
2016/08/02 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
2016/11/02 Javascript
JS生成一维码(条形码)功能示例
2017/01/19 Javascript
Node.js安装配置图文教程
2017/05/10 Javascript
JavaScript创建对象的七种方式全面总结
2017/08/21 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
vue使用v-for实现hover点击效果
2018/09/29 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
2020/07/27 Javascript
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
[03:00]《DAC最前线》之欧美新秀VS老将
2015/02/01 DOTA
从源码解析Python的Flask框架中request对象的用法
2016/06/02 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
Python常用编译器原理及特点解析
2020/03/23 Python
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
StringBuilder和String的区别
2015/05/18 面试题
学校端午节活动方案
2014/08/23 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
2015年元旦标语大全
2014/12/09 职场文书
芙蓉镇观后感
2015/06/10 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python
浅谈克隆 JavaScript
2021/11/02 Javascript
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS