Necesito detectar la ruta /products principales desde el interior del componente FeaturedProducts.vue. Que tiene una ruta de ruta de /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') } ] }];¿Cómo puedo encontrar la ruta principal mediante programación en un componente?
Puede obtener todas las rutas usando router.getRoutes() e iterar para verificar si las rutas secundarias coinciden con su ruta actual.
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; } }TENER CUIDADO
Esta solución solo funciona si coinciden las rutas completas. Si las rutas tienen parámetros, puede usar route.name en lugar de route.path