vue-route的路由配置中父组件没有component怎么处理

server/2024/9/23 11:15:45/

概述

        为了方便开发和维护,所以web前端的路由配置路径和前端代码文件路径一般是一致的。但在实际开发中,项目可能会分很多级的菜单,由于很多菜单只有叶子菜单是真正的页面。而中间菜单项只是一个路由配置。

       为了正确路由到底层的功能页面,我们要创建很多个只包含<router-view />的页面。

{path: '/',name: 'all',redirect: '/home',},{path: '/home',name: 'home',component: () => import('@/views/menu/index.vue'),   //真正的菜单页面redirect: '/home/parent1',children:[{path: 'parent1',name: 'parent1',redirect: '/home/parent1/parent11',component: () => import('@/views/parent1/index.vue'),  //只<router-view />的页面children:[{path:"parent11",name:'parent11',redirect: '/home/parent1/parent111',component: () => import('@/views/parent1/parent11/index.vue'), //只<router-view />的页面children:[{path:"parent111",name:'parent111',component: () => import('@/views/parent1/parent11/parent111/index.vue')  //功能页面},{path:"parent112",name:'parent112',component: () => import('@/views/parent1/parent11/parent112/index.vue')  //功能的页面}]},{path:"parent2",name:'parent1',component: () => import('@/views/parent1/index.vue') //只<router-view />的页面}]}]}

所以我们创建了很多一样的页面:

<template>

        <router-view/>

</template>

 解决

            我们可以通过直接在conponent里直接配置<router-view>组件来解决这个问题。直接导入的方式如下:

component: { render: c => c("router-view")},

修改之后的路由配置如下:

{path: '/',name: 'all',redirect: '/home',},{path: '/home',name: 'home',component: () => import('@/views/menu/index.vue'),   //真正的菜单页面redirect: '/home/parent1',children:[{path: 'parent1',name: 'parent1',redirect: '/home/parent1/parent11',component: { render: c => c("router-view")},children:[{path:"parent11",name:'parent11',redirect: '/home/parent1/parent111',component: { render: c => c("router-view")},children:[{path:"parent111",name:'parent111',component: () => import('@/views/parent1/parent11/parent111/index.vue')  //功能页面},{path:"parent112",name:'parent112',component: () => import('@/views/parent1/parent11/parent112/index.vue')  //功能的页面}]},{path:"parent2",name:'parent1',component: () => import('@/views/parent1/index.vue') //只<router-view />的页面}]}]}


http://www.ppmy.cn/server/44854.html

相关文章

如何在VSCode中修改默认终端

如何在VSCode中修改默认终端 步骤1: 打开设置步骤2: 搜索终端设置步骤3: 配置默认终端Windows:macOS:Linux: 步骤4: 保存设置 在VSCode中修改默认终端的步骤如下&#xff1a; 步骤1: 打开设置 点击左下角的齿轮图标&#xff0c;选择“设置”(或者使用快捷键 Ctrl , on Windo…

android 关于自定义View在特殊情况下触发setPressed方法(View源码解析)

文章目录 前言一、为什么样式会变&#xff1f;二、调试发现原因并解决1.找到原因2.解决 总结 前言 最近在负责一些UI相关的工作,测试给到一个UI的bug,说是搜索框在点击的时候,旁边的’‘X’变成按压的效果了,我转手就把bug转给负责公控的同事了,因为这个搜索框是公控同事提供的…

Flutter 中的 UnconstrainedBox 小部件:全面指南

Flutter 中的 UnconstrainedBox 小部件&#xff1a;全面指南 Flutter 提供了众多的布局小部件&#xff0c;以帮助开发者构建灵活且响应式的用户界面。UnconstrainedBox 是其中一种特殊的小部件&#xff0c;它允许子组件在没有约束的情况下渲染&#xff0c;同时可以指定一个父组…

CSS(七)

文章目录 CSS&#xff08;七&#xff09;1. 精灵图&#xff08;重点&#xff09;1.1 为什么需要精灵图1.2 精灵图&#xff08;sprites&#xff09;的使用1.3 案例&#xff1a;拼出自己名字1.3.1 案例效果1.3.2 代码参考 2. 字体图标2.1 字体图标的产生2.2 字体图标的优点**2.3*…

广东海上丝绸之路文化促进会正式批复荐世界酒中国菜的指导单位

广东海上丝绸之路文化促进会正式批复成为“世界酒中国菜”系列活动指导单位 近日&#xff0c;广东海上丝绸之路文化促进会近日正式批复荐酒师国际认证&#xff08;广州&#xff09;有限公司&#xff0c;成为备受瞩目的“世界酒中国菜”系列活动的指导单位。此举旨在通过双方的…

【设计模式】JAVA Design Patterns——Data Transfer Object(数据传递对象模式)

&#x1f50d;目的 次将具有多个属性的数据从客户端传递到服务器&#xff0c;以避免多次调用远程服务器 &#x1f50d;解释 真实世界例子 我们需要从远程数据库中获取有关客户的信息。 我们不使用一次查询一个属性&#xff0c;而是使用DTO一次传送所有相关属性。 通俗描述 使用…

c++【入门】你多大了

时间限制 : 1 秒 内存限制 : 128 MB 一天玩仔跑来问周周你多大了&#xff0c;周周告诉他自己 1010 岁了&#xff0c;玩仔又说自己也是&#xff0c;你听到了这个对话&#xff0c;想用程序显示出两个人的对话内容&#xff0c;现在就来试一试吧。 输入 无 输出 输出三行&…

pod容器基础概念

一 Pod基础概念&#xff1a; ①Pod是kubernetes中最小的资源管理组件&#xff0c;Pod也是最小化运行容器化应用的资源对象。一个 Pod代表着集群中运行的一个进程。一个pod包含一个或多个容器。如&#xff1a;应用容器/业务容器&#xff08;淘 宝、京东、拼多多后台&#xff…