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 相关文章推荐
js 面向对象的技术创建高级 Web 应用程序
Feb 25 Javascript
jquery中ajax学习笔记4
Oct 16 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
Jun 15 Javascript
javascript中数组的多种定义方法和常用函数简介
May 09 Javascript
jquery实现最简单的滑动菜单效果代码
Sep 12 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
Jan 13 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
Feb 15 Javascript
基于vue实现分页/翻页组件paginator示例
Mar 09 Javascript
JS实现的ajax和同源策略(实例讲解)
Dec 01 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
Mar 12 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
Jun 10 Javascript
解决vue项目 build之后资源文件找不到的问题
Sep 12 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分页示例代码
2007/03/19 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
php笔记之:php函数range() round()和list()的使用说明
2013/04/26 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
PHP入门教程之数学运算技巧总结
2016/09/11 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
分享一个用Mootools写的鼠标滑过进度条改变进度值的实现代码
2011/12/12 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
JavaScript中使用concat()方法拼接字符串的教程
2015/06/06 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
Vue.js 和 MVVM 的注意事项
2016/11/07 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
JavaScript中this关键字用法实例分析
2018/08/24 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支
2019/07/04 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
vue props 一次传多个值实例
2020/07/22 Javascript
在vue中实现echarts随窗体变化
2020/07/27 Javascript
Python多线程编程简单介绍
2015/04/13 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
Django 路由控制的实现
2019/07/17 Python
使用python远程操作linux过程解析
2019/12/04 Python
基于Tensorflow高阶读写教程
2020/02/10 Python
python3判断IP地址的方法
2021/03/04 Python
html5中valid、invalid、required的定义
2014/02/21 HTML / CSS
高中生逃课检讨书
2014/10/10 职场文书
2015年派出所民警工作总结
2015/04/24 职场文书
学习雷锋精神倡议书
2015/04/27 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
python实现腾讯滑块验证码识别
2021/04/27 Python