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中的undefined 与 null 的区别  补充篇
Mar 17 Javascript
JS分页控件 可用于无刷新分页
Jul 23 Javascript
将文本输入框内容加入表中的js代码
Aug 18 Javascript
jQuery对象与DOM对象之间的相互转换
Mar 03 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
May 10 Javascript
浅析Bootstrap验证控件的使用
Jun 23 Javascript
Vue.js每天必学之方法与事件处理器
Sep 06 Javascript
js实现自动图片轮播代码
Mar 22 Javascript
JavaScript模块模式实例详解
Oct 25 Javascript
axios 封装上传文件的请求方法
Sep 26 Javascript
js实现简单分页导航栏效果
Jun 28 Javascript
动态规划之使用备忘录来改进Javascript函数
Apr 07 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
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
PHP中=赋值操作符对不同数据类型的不同行为
2011/01/02 PHP
PHP代码优化技巧小结
2015/09/29 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
PHP 实现 WebSocket 协议原理与应用详解
2020/04/22 PHP
Code:loadScript( )加载js的功能函数
2007/02/02 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
用console.table()调试javascript
2014/09/04 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
JavaScript实现控制打开文件另存为对话框的方法
2015/04/17 Javascript
js倒计时简单实现方法
2015/12/17 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
jQuery焦点图插件SaySlide
2015/12/21 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
Vue3 实现双盒子定位Overlay的示例
2020/12/22 Vue.js
Python模仿POST提交HTTP数据及使用Cookie值的方法
2014/11/10 Python
使用Python3编写抓取网页和只抓网页图片的脚本
2015/08/20 Python
在Linux命令行终端中使用python的简单方法(推荐)
2017/01/23 Python
Python下实现的RSA加密/解密及签名/验证功能示例
2017/07/17 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
2018/02/22 Python
python日期时间转为字符串或者格式化输出的实例
2018/05/29 Python
python输出100以内的质数与合数实例代码
2018/07/08 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
余弦相似性计算及python代码实现过程解析
2019/09/18 Python
pytorch torchvision.ImageFolder的用法介绍
2020/02/20 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
求职信内容怎么写
2014/05/26 职场文书
在校实习生求职信
2014/06/18 职场文书
民主评议政风行风活动心得体会
2014/10/29 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python