我需要从FeaturedProducts内部检测父路由/products.vue组件.其路由路径为/product-list/featured

const routes = [
  {
    path: "/",
    name: "Home",
    component: () => import('./Home.vue')   
  }, 
  {
    path: "/product-list",
    name: "Products",
    component: () => import('./Products.vue'),      
    children: [
      {
        path: '/featured',
        name: "FeaturedProducts",
        component: import('./FeaturedProducts.vue')           
      }
    ]
  }];

如何在组件中以编程方式找到父路由?

推荐答案

您可以使用router.getRoutes()获得所有路由,并迭代判断子路由是否与当前路由匹配.

 setup() { 
   const router = useRouter();

   function findParentRoute() {
     let found = null;
     router.getRoutes().forEach((r) => {
       (r.children || []).forEach((ch) => {
         if (r.path + "/" + ch.path == route.path) {
           found = r;
         }
       });
     });
     return found;
   }
 }

Javascript相关问答推荐

详细说明如何以图表方式改变仪表的范围和 colored颜色

Vue v模型检测父参考更改

错误:找不到react-redux上下文值;请确保该组件包装在React原生Expo应用程序中的提供者中

如何在react + react路由域名中使用DeliverBrowserRouter?

如何使用JavaScript动态地将CSS应用于ToDo列表?

调用SEARCH函数后,程序不会结束

yarn安装一个本地npm包,以便本地包使用main项目的node_modules(ckeditor-duplicated-modules错误)

Chart.js V4切换图表中的每个条,同时每个条下有不同的标签.怎么做?

使用JavaScript重新排序行

在拖放时阻止文件打开

WhatsApp Cloud API上载问题:由于MIME类型不正确而导致接收&Quot;INVALID_REQUEST";错误

WP Bootstrap NavWaker:下拉菜单一次打开所有下拉菜单

每次重新呈现时调用useState initialValue函数

无法读取未定义的属性(正在读取合并)-react RTK

在查看网页时,如何使HTML中的按钮工作方式类似于鼠标上的滚轮或箭头键?

通过跳过某些元素的对象进行映射

postman 预请求中的hmac/sha256内标识-从js示例转换

自动滚动功能在当前图像左侧显示上一张图像的一部分

用另一个带有类名的div包装元素

如何在FiRestore中的事务中使用getCountFromServer