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 继承详解(四)
Jul 13 Javascript
6个DIV 135或246间隔一秒轮番显示效果
Jul 24 Javascript
仿微博字符限制效果实现代码
Apr 20 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
Aug 07 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
Aug 13 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
Sep 22 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
Aug 17 Javascript
学习JavaScript鼠标响应事件
Dec 25 Javascript
JS DOM实现鼠标滑动图片效果
Sep 17 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
Sep 22 Javascript
详解node单线程实现高并发原理与node异步I/O
Sep 21 Javascript
javascript对HTML字符转义与反转义
Dec 13 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下MYSQL limit的优化
2008/01/10 PHP
php读取30天之内的根据算法排序的代码
2008/04/06 PHP
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
PHP session会话操作技巧小结
2016/09/27 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
Javascript isArray 数组类型检测函数
2009/10/08 Javascript
不一样的文字闪烁 轮番闪烁
2009/11/11 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
关于javascript中的typeof和instanceof介绍
2012/12/04 Javascript
JavaScript 数组详解
2013/10/10 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
jQuery中parent()方法用法实例
2015/01/07 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
Bootstrap风格的WPF样式
2016/12/07 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
对于input 框限定输入值为浮点型的js代码
2017/09/25 Javascript
python+mysql实现简单的web程序
2014/09/11 Python
CentOS中升级Python版本的方法详解
2017/07/10 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
python多线程分块读取文件
2019/08/29 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
HTML5新增元素如何兼容旧浏览器有哪些方法
2014/05/09 HTML / CSS
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
护士检查书
2014/01/17 职场文书
2014预备党员党课学习心得范文
2014/07/08 职场文书
党员创先争优心得体会
2014/09/11 职场文书
详细了解java监听器和过滤器
2021/07/09 Java/Android