嵌套路由中动态添加子路由

文章展示了如何在Vue.js应用中使用vue-router动态添加路由,并实现跳转至新路由页面。通过`this.$router.options.routes`获取当前路由,然后向指定路由的子路由数组添加新条目,接着使用`this.$router.matcher`更新路由匹配器,确保无重复名字。最后,使用`this.$router.push`进行路由跳转,并传递参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import Router from 'vue-router'

获取当前路由

let allRouter=this.$router.options.routes
      allRouter[8].children.push({
        path: '/detail/'+billNo,
        component: () => import('@/views/homepage/detail/index'),
        name: 'Detail'+billNo,
        hidden: true,
        meta: { title: '详情页('+billNo+')', icon: 'user', affix: true }
      })
      //替换以前的 router 保证名字不重复
      this.$router.matcher = new Router({ mode: "hash" }).matcher
      this.$router.addRoutes(allRouter)

跳转到新路由页面

      this.$router.push({
        path: '/detail/'+billNo,
        query: {
          billNo: billNo,
          shipCompany: shipCompany
        }
      })

参考
https://blog.csdn.net/weixin_44680009/article/details/120924575

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值