vue 动态加载路由,渲染左侧菜单栏

news/2024/10/15 23:22:43

需求

我们在route文件中定义的路由是由子路由包裹进去的,它可能是无限级的。如何在vue的模板中渲染形成菜单栏。

如图:

 

解决方法

将菜单栏单独写成子组件(注意头部标签:element-plus中是el-menu)仍然在父组件中。将配置路由数据传入到子组件。子组件渲染一级路由。

一级路由再调用本身组件,从而递归的实现动态加载和无限级分类。

父组件代码

<el-menuclass="el-menu-vertical"@open="handleOpen"@close="handleClose"background-color="$el-aside-background"
><Menu :menuList="menuRoutes" />
</el-menu>

子组件代码

   <template v-for="(item, index) in menuList" :key="index"><!-- 一级路由 --><template v-if="!item.children" ><el-menu-item v-if="!item.meta.isHidden" :index="item.path"><template #title><span>icon</span>&nbsp;{{ item.meta.title }}</template></el-menu-item></template><!-- 有子路由,但是只有一个 --><el-menu-itemv-if="item.children && item.children.length == 1 && !item.meta.isHidden":index="item.path"><template #title><span>{{ item.children[0].meta.title }}</span></template></el-menu-item><!-- 有子路由,并且有多个,递归调用自己 --><el-sub-menu:index="item.name"v-if="item.children && item.children.length > 1"><template #title><span>{{ item.meta.title }}</span></template><!-- 注意:这个需要一个组件名,并将子路由数据传入自身组件中,组件名在下面的script标签中用vue2语法定义 --><Menu :menuList="item.children" /></el-sub-menu></template>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/72043.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

IDEA连接数据库后,在使用表的时候有时候未检测到表

我的这个产生的原因:之前做项目的时候检测到category表了,但后来数据库断开后,等再次连接上数据库,可以检测到数据库,但数据库中的表直接用,是检测不到的。 解决方法一:使用数据库中表的时候,可以 [数据库.数据库表],如下图所示,可以看到此时使用表就不爆红了。解决方…

DirectoryOpus插件:“照得标管理器”-海量照片分类管理好帮手!

照得标管理器 前言名词解释:“照得标管理器”,即:照片得到标签管理器,后文统一简称“照得标管理器”或“照得标”。  注:请不要和抖音上的“奥德彪”、“王德发”之类联系,我分享的是正经照片-得到-标签-管理器。有段时间作者赋闲在家,决定把留在电脑上的几万张照片整…

2024-10-15

CSS简介点击查看代码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>…

Selenium操作:测试form表单

from表单是经常测试的用例,用户登录、注册等都会用到form表单from表单是经常测试的用例,用户登录、注册等都会用到form表单,本文简单设计了一个用户登录的form表单,并对该form表单进行测试一、自定义form表单 1、用到的组件 如下图,图中定义了一个登录界面的form表单,用到…

优化远程桌面RDP,使用GPU和帧率60帧

1.平时在使用远程桌面的时候,会发现无法使用GPU,也就无法运行一些需要独立GPU的应用和游戏。 以下为开启方式: 在被远程的电脑上运行:开始->运行,输入gpedit.msc(家庭版没有)打开组策略。 在左侧导航到以下路径计算机配置-管理模板-Windows组件-远程桌面服务-远程桌面…

TomcatServlet -2024/10/15

idea中Maven部署Web项目 基本架构pom.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocati…

实验1 现代C++基础课程

任务1 源代码task1.cpp1 // 现代C++标准库、算法库体验2 // 本例用到以下内容:3 // 1. 字符串string, 动态数组容器类vector、迭代器4 // 2. 算法库:反转元素次序、旋转元素5 // 3. 函数模板、const引用作为形参6 7 #include <iostream>8 #include <string>9 #inc…