从零开始手把手Vue3+TypeScript+ElementPlus管理后台项目实战九(整体布局02)

使用el-menu和el-sub-menu及el-menu-item导航

src/layout目录下新增components目录,components目录下新增PageSidebar.vue
代码基本思想为:读取router中定义的routes数组,渲染绑定到el-menu。
el-menu和el-sub-menu及el-menu-item的区别,请参考本文最后一个图。

<template><div><el-menu :default-active="defaultActive" router :collapse="isCollapse"><template v-for="(item, i) in treeData" :key="item.path"><el-sub-menu  :index="item.path" v-if="item.children && item.children.length > 0"><template #title><el-icon v-if="item.meta.icon"><component :is="item.meta.icon"></component></el-icon><span>{{ item.name }}</span></template><template v-for="(child, ci) in item.children" :key="ci"><el-menu-item :index="child.path"><el-icon><component :is="child.meta.icon"></component></el-icon>{{ child.name }}</el-menu-item></template></el-sub-menu></template></el-menu></div>
</template>
<script setup>
import { computed,ref } from 'vue';
import { useRouter, useRoute } from 'vue-router';
const router = useRouter();
const route = useRoute();const treeData = router.getRoutes().filter((v) => v.meta && v.meta.requiresAuth);const defaultActive = computed(() => route.path || treeData.value[0].path)
const isCollapse = ref(false)
</script>

修改布局文件

1717569146435.png

运行测试

1717569238885.png

区分el-menu和el-sub-menu及el-menu-item

1717569380224.png

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SprringCloud Gateway动态添加路由不重启

文章目录 前言&#xff1a;一、动态路由必要性二、SpringCloud Gateway路由加载过程RouteDefinitionLocator接口PropertiesRouteDefinitionLocator类DiscoveryClientRouteDefinitionLocatorInMemoryRouteDefinitionRepositoryCompositeRouteDefinitionLocator类CachingRouteDef…

【话题】程序员应该有什么职业素养

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读小5的系列文章&#xff0c;这是《话题》系列文章 目录 背景职业素养的重要性职业素养的核心1.1 承诺与责任感1.2 沟通与团队合作1.3 学习与持续进步 态度和价值观的作用2.1 诚实和诚信2.2 责任和自我管理2.3 尊重和多样性 职…

Linux crontabs定时执行任务

文章目录 前言一、安装二、服务1. 启动crond服务2. 关闭crond服务3. 重启crond服务4. 设置crond开机启动5. 禁用crond开机启动6. 查看crond是否开机启动7. 重新载入配置8. 查看crond运行状态 三、使用1. 查看当前用户的crontab2. 编辑用户的crontab3. 删除用户的crontab的内容 …

JEPaaS 低代码平台 j_spring_security_check SQL注入漏洞复现

0x01 产品简介 JEPaaS是一款优秀的软件平台产品,可视化开发环境,低代码拖拽式配置开发,操作极其简单,可以帮助解决Java项目80%的重复工作,让开发更多关注业务逻辑,大大提高开发效率,能帮助公司大幅节省人力成本和时间成本,同时又不失灵活性。适用于搭建 OA、ERP、CRM、…

100v 高耐压ldo 高压三端稳压芯片

100v 高耐压ldo 高压三端稳压芯片

python数据分析-量化分析

一、研究背景 随着经济的发展和金融市场的不断完善&#xff0c;股票投资成为了人们重要的投资方式之一。汽车行业作为国民经济的重要支柱产业&#xff0c;其上市公司的股票表现备受关注。Fama-French 三因子模型是一种广泛应用于股票市场的资产定价模型&#xff0c;它考虑了市场…

高效处理风电时序数据,明阳集团的 TDengine 3.0 应用实录

作为全国 500 强企业&#xff0c;明阳集团在风电行业拥有领先实力。目前全球超过 800 个项目采用明阳各种型号风电机组&#xff0c;安装数量超过 15000 台。每台风电机组配备数百至上千个监测点&#xff0c;生成的时序数据每秒一条&#xff0c;每天产生亿级以上的数据量。这些数…

IPv6 ND 协议功能概述

ND 协议功能概述 ND&#xff08;Neighbor Discovery&#xff0c;邻居发现&#xff09;协议是 IPv6 的一个关键协议&#xff0c;它综合了 IPv4 中的 ARP&#xff0c;ICMP 路由发现和 ICMP 重定向等协议&#xff0c;并对它们做了改进。 作为 IPv6 的基础性协议&#xff0c;ND 协…

AI 定位!只需一张图片就能找到你,锁定具体位置!精确到经纬度

你能猜到这张自拍的拍摄地点吗?别小瞧了AI的能力,答案可能会让你吓一跳。 这事交给现在的AI来处理&#xff0c;它只需要“看”一眼&#xff0c;就能把照片里的“底裤都给扒出来”&#xff1a; 美国&#xff0c;加利福尼亚州&#xff0c;旧金山机场洗手间&#xff0c;93号登机口…

C++调试打印日志方法

1.使用函数的方法,只能打印 只需要包含:#include <cstdio>头文件即可 #define INFO_LOG(fmt, ...) fprintf(stdout, "[INFO] " fmt "\n", ##__VA_ARGS__) #define WARN_LOG(fmt, ...) fprintf(stdout, "[WARN] " fmt "\n"…

关于Ubuntu24.04嘉立创EDA无法启动的问题

关于Ubuntu24.04嘉立创EDA无法启动的问题 查看无法启动原因解决办法1解决办法2 查看无法启动原因 在终端使用启动文件命令报错 解决办法1 输入如下命令可以正常启动 ./lceda-pro --no-sandbox 解决办法2 找到desktop文件进行修改 cd /usr/share/applications sudo vim lce…

JavaScript数组函数

在JavaScript中&#xff0c;有许多方法可以用来对数组进行操作。下面是详细介绍和举例所有的数组方法函数&#xff1a; push()&#xff1a;将一个或多个元素添加到数组的末尾&#xff0c;并返回新数组的长度。 var fruits [apple, banana]; fruits.push(orange); console.lo…

HTML制作一个日蚀的动画特效

大家好&#xff0c;今天制作一个日蚀动画特效&#xff01; 先看具体效果&#xff1a; 使用一个逐渐扩大的圆形阴影来模拟月亮遮挡太阳的效果。使用了CSS的keyframes动画和border-radius属性来创建一个简单的圆形阴影效果。 HTML <!DOCTYPE html> <html lang"e…

[Cloud Networking] Layer 2 Protocol

文章目录 1. STP / RSTP / MSTP Protocol1.1 STP的作用1.2 STP 生成树算法的三个步骤1.3 STP缺点 2. ARP Protocol3. MACSEC 1. STP / RSTP / MSTP Protocol 1.1 STP的作用 消除二层环路&#xff1a;通过阻断冗余链路来消除网络中可能存在的环路链路备份&#xff1a;当活动链…

freebsd 14.1 简易安全安装步骤

下面安装在真机上进行&#xff0c;安装的是KDE界面&#xff0c;virtual box虚拟机上安装&#xff0c;安装前设置中显示改为VBoxSVGA&#xff0c;缩放设置为150%要不然安装后界面文字非常小看不见&#xff0c;其他基本一样。 总结出来的简易安全快速安装步骤方法&#xff1a; …

PHP Cookies:应用与管理

在Web开发中&#xff0c;Cookies是一种在客户端&#xff08;通常是浏览器&#xff09;存储少量数据的机制。PHP作为一种服务器端脚本语言&#xff0c;提供了对Cookies的全面支持&#xff0c;使得开发者可以轻松地设置、读取和删除Cookies。Cookies通常用于存储用户的会话信息&a…

DC/AC电源模块:为物联网设备提供可靠的电力支持

BOSHIDA DC/AC电源模块&#xff1a;为物联网设备提供可靠的电力支持 DC/AC电源模块是物联网设备中非常重要的组成部分之一&#xff0c;它为设备提供稳定、可靠的电力支持。在物联网应用中&#xff0c;设备通常需要通过无线网络与其他设备或云平台进行通信&#xff0c;而这些设…

【Android面试八股文】volatile和synchronize有什么区别?

volatile和synchronize有什么区别? 在 Java 多线程编程中,volatile 和 synchronized 是两个重要的关键字,它们分别用于处理并发访问共享变量的问题。尽管它们都可以用于确保多线程环境下的数据一致性,但在实际应用中却有着明显的区别和适用场景。 作用范围: volatile 只能…

实践中ES常用命令总结

一.集群状况查看命令 1.1集群健康度 curl http://localhost:9200/_cat/health?v 1.2 集群节点 curl http://localhost:9200/_cat/nodes?v 1.3 集群索引 curl http://localhost:9200/_cat/indices?v 1.4 查看某个索引段 curl http://localhost:9200/_cat/segments/or…

编程初学者用什么软件电脑:全方位指南及深度解析

编程初学者用什么软件电脑&#xff1a;全方位指南及深度解析 在数字化浪潮席卷而来的今天&#xff0c;编程技能逐渐成为了一项必备的基本素养。对于初学者来说&#xff0c;选择一款合适的编程软件电脑至关重要。本文将从四个方面、五个方面、六个方面和七个方面&#xff0c;深…