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 跨域访问问题解决方法(笔记)
Jun 08 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
Feb 13 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
May 04 Javascript
jquery插件unobtrusive实现片段式加载
Jun 15 Javascript
分享JavaScript与Java中MD5使用两个例子
Dec 23 Javascript
jQuery UI结合Ajax创建可定制的Web界面
Jun 22 Javascript
Node.js使用Express.Router的方法
Nov 14 Javascript
详解JavaScript 中 if / if...else...替换方式
Jul 15 Javascript
详解vue axios二次封装
Jul 22 Javascript
Node.js API详解之 querystring用法实例分析
Apr 29 Javascript
Openlayers绘制聚合标注
Sep 28 Javascript
JS实现页面侧边栏效果探究
Jan 08 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与SQL注入攻击防范小技巧
2011/09/16 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
JavaScript基本语法_动力节点Java学院整理
2017/06/26 Javascript
AngularJS实现tab选项卡的方法详解
2017/07/05 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
2017/09/04 Javascript
Node错误处理笔记之挖坑系列教程
2018/06/05 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
微信小程序开发之路由切换页面重定向问题
2018/09/18 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
node express使用HTML模板的方法示例
2019/08/22 Javascript
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
JavaScript this关键字指向常用情况解析
2020/09/02 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
python实现2048小游戏
2015/03/30 Python
Python实现比较两个文件夹中代码变化的方法
2015/07/10 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
Python骚操作之动态定义函数
2019/03/26 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
Python requests设置代理的方法步骤
2020/02/23 Python
Python 去除字符串中指定字符串
2020/03/05 Python
不可轻视HTML5!App三年内将被html5顶替彻底消失
2015/11/18 HTML / CSS
Europcar澳大利亚官网:全球汽车租赁领域的领导者
2019/03/24 全球购物
财务会计人员岗位职责
2013/11/30 职场文书
2014年小学教学工作总结
2014/11/13 职场文书
毕业班工作总结
2015/08/10 职场文书
2016廉洁从政心得体会
2016/01/19 职场文书
创业计划书之甜品店
2019/09/18 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
pytorch通过训练结果的复现设置随机种子
2021/06/01 Python
matplotlib如何设置坐标轴刻度的个数及标签的方法总结
2021/06/11 Python