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 学习笔记(六)
Dec 31 Javascript
解析Javascript中中括号“[]”的多义性
Dec 03 Javascript
Javascript中匿名函数的多种调用方式总结
Dec 06 Javascript
js function定义函数的几种不错方法
Feb 27 Javascript
JavaScript闭包实例讲解
Apr 22 Javascript
ie8模式下click无反应点击option无反应的解决方法
Oct 11 Javascript
jQuery老黄历完整实现方法
Jan 16 Javascript
javascript 正则表达式去空行方法
Jan 24 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
Aug 07 Javascript
Vue登录注册并保持登录状态的方法
Aug 17 Javascript
微信小程序实现列表滚动头部吸顶的示例代码
Jul 12 Javascript
8个非常实用的Vue自定义指令
Dec 15 Vue.js
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利用str_replace防注入的方法
2013/11/10 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
php实现通过ftp上传文件
2015/06/19 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
让FireFox支持innerText的实现代码
2009/12/01 Javascript
jquery中ajax调用json数据的使用说明
2011/03/17 Javascript
Jquery倒计时源码分享
2014/05/16 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
JavaScript组成、引入、输出、运算符基础知识讲解
2016/12/08 Javascript
JS判断是否手机或pad访问实现方法
2016/12/09 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
Scrapy-Redis结合POST请求获取数据的方法示例
2019/05/07 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
Crocs欧洲官网:Crocs Europe
2020/01/14 全球购物
结婚邀请函范文
2014/01/14 职场文书
会计自荐信范文
2014/03/09 职场文书
说明书范文
2014/05/07 职场文书
软件售后服务方案
2014/05/29 职场文书
关于诚信的活动方案
2014/08/18 职场文书
家庭财产分割协议书范本
2014/11/24 职场文书
打架检讨书
2015/01/27 职场文书
文员岗位职责
2015/02/04 职场文书
2014年个人总结范文
2015/03/09 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL