Vue2+ElementUI实现无限级菜单

        使用Vue2和ElementUI实现无限级菜单,通常菜单数据以树形结构存储,每个菜单包含多个子菜单 ,子菜单又可以继续包含更深层次的子菜单项。所以,需要使用递归形式,完成子项菜单的渲染。

        这里,结合Element UI界面的el-menu和el-submenu组件来构建菜单结构,有子菜单时使用el-submenu,否则使用el-menu-item。可以通过自定义组件对Element-UI菜单组件递归渲染,也可以使用Vue的render方法完成Element-UI的菜单组件的渲染,通过render函数方式可以使用JavaScript代码来完成布局和结构。

        render函数是Vue组件的一个方法,用于返回一个虚拟节点(VNode)结构,该结构将被转换为真实的DOM元素。

一、安装

        vue2的安装之前已有一篇文章介绍过,不清楚朋友可以前去了解,地址:Vue.js快速入门之一:安装和配置_vue 安装 js-storage-CSDN博客。

1.1 vue-cli全局安装

npm install -g vue-cli

1.2 初始化项目

vue init webpack projectName

1.3 执行命令

        打开git bash,输入命令创建项目,命令代码如下:

Administrator@PC-20240224TOYL MINGW64 /d/workspace/vue
$ vue init webpack vue2element-nav? Project name vue2element-nav
? Project description A Vue.js project
? Author 作者名称 <邮箱地址.qq.com>
? Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? No
? Set up unit tests No
? Setup e2e tests with Nightwatch? No
? Should we run `npm install` for you after the project has been created? (recom
mended) npm

        执行完毕后,如下图所示,表示已完成项目的创建和初始化。

        通过上述提示命令,运行项目。

二、安装Element-UI

        Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。官网地址:Element - The world's most popular Vue UI framework。

2.1 安装

npm i -s element-ui

2.2 使用

        打开main.js文件,引入Element UI组件。代码如下:

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'Vue.use(ElementUI);

三、模拟数据

        这里先使用模拟数据完成无限级菜单的实现,在项目src目录下创建data文件夹,并新建nav.js文件,用于存储模拟数据。如下图:

3.1 json数据        

        打开创建好的文件src/data/nav.js,将模拟数据贴入即可, 代码如下:

/*** 模拟数据*/
const dataList = [{"name": "网络安全渗透工程师体系大纲","pid": 0,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 1},{"name": "WEB通信、前后端原理","pid": 1,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 2},{"name": "信息收集","pid": 1,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 3},{"name": "注入全方位利用+数据库注入","pid": 1,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 4},{"name": "前端渗透、文件上传解析漏洞","pid": 1,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 5},{"name": "漏洞利用","pid": 1,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 6},{"name": "漏洞挖掘","pid": 1,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 7},{"name": "Web服务器通信原理","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 8},{"name": "后端基础SQL","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 9},{"name": "数据库简介及SQL语法","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 10},{"name": "后端基础SQL高级查询与子查询","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 11},{"name": "后端基础PHP简介及基本函数上","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 12},{"name": "后端基础PHP—表单验证","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 13},{"name": "正则表达式","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 14},{"name": "信息搜集的意义 — 渗透测试的灵魂","pid": 3,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 15},{"name": "信息收集(一)","pid": 3,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 16},{"name": "网络架构-信息收集","pid": 3,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 17},{"name": "前端-信息收集","pid": 3,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 18},{"name": "系统-信息收集","pid": 3,

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

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

相关文章

如何使用WebRTC

WebRTC比较容易使用&#xff0c;只需要很少的步骤&#xff0c;有些消息在浏览器和服务器之间流动&#xff0c;有些则直接在两个浏览器之间流动&#xff0c; 1、建立WebRTC会话 a&#xff1a;建立WebRTC连接需要加入以下几个步骤&#xff1a; 获取本地媒体&#xff1a;getUse…

数据分析管理软件 Minitab 22.2.2 中文版安装包 免费下载

Minitab22.2.2 安装包下载链接: https://pan.baidu.com/s/1cWuDbvcWhYrub01C6QR81Q?pwd6666 提取码: 6666 Minitab软件是现代质量管理统计软件&#xff0c;全球六西格玛实施的共同语言。Minitab 已经在全球120多个国家&#xff0c;5000多所高校被广泛使用。

从新手到高手:小程序开发进阶技巧分享

小程序开发从入门到精通需要经历技术积累、架构优化和工程化实践等多个阶段。以下是结合真实项目经验的进阶路线与核心技术要点&#xff0c;涵盖性能优化、架构设计、跨平台开发等关键领域&#xff1a; 一、性能调优实战技巧 1. 首屏渲染加速方案 // 预请求关键数据&#xff…

Vue3后代组件多祖先通讯设计方案

在 Vue3 中&#xff0c;当需要设计一个被多个祖先组件使用的后代组件的通讯方式时&#xff0c;可以采用以下方案&#xff08;根据场景优先级排序&#xff09;&#xff1a; 方案一&#xff1a;依赖注入&#xff08;Provide/Inject&#xff09; 响应式上下文 推荐场景&#xff…

《代码之美:静态分析工具与 CI 集成详解》

《代码之美:静态分析工具与 CI 集成详解》 引言 在现代软件开发的快节奏环境中,代码质量和效率始终是开发者关注的核心。无论您是初学者,还是经验丰富的资深开发者,一个强大的工具链都能让您如虎添翼。而 Python 的静态代码分析工具,如 pylint、flake8 和 mypy,正是提升…

kafka安装、spark安装

kafka简介 Kafka就是一个分布式的用于消息存储的消息队列。 kafka角色 Kafka中存储的消息&#xff0c;被消费后不会被删除&#xff0c;可以被重复消费&#xff0c;消息会保留多长&#xff0c;由kafka自己去配置。默认7天删除。背后的管理工作由zookeeper来管理。 kafka安装 …

Jmeter数据库url开关设置+常用Beanshell

1、数据库url开关设置 &#xff08;79 90&#xff09; jdbc:mysql://test.lemonban.com:3306/future?allowMultiQueries-true&characterEncodingUTF-8 多条查询开关&#xff1a;allowMultiQueriestrue 字符集配置:characterEncodingUTF-8 2、用BeanShell提取Map中的方…

媒体关注:联易融聚焦AI+业务,重塑供应链金融生态

近日&#xff0c;供应链金融科技龙头企业联易融科技集团&#xff08;以下简称“联易融”&#xff09;发布的公告显示&#xff0c;截至2024年末&#xff0c;公司现金储备达51亿元&#xff0c;同比上一年增加2亿元。公司称&#xff0c;公司经营性现金流保持健康&#xff0c;现金储…

求解,如何控制三相无刷电机?欢迎到访评论

问题&#xff1a;通过一个集成的TF2104芯片控制H桥上桥臂和下桥臂&#xff0c;如何控制&#xff1f;还是说得需要PWM_UH和PWM_UL分开控制&#xff1f;

AIGC在游戏开发中的革命:自动化生成3A级游戏内容

一、智能游戏开发架构 1.1 传统开发痛点与AIGC创新 开发环节 传统痛点 AIGC解决方案 角色原画设计 美术资源产能瓶颈 文生图3D模型自动生成 场景搭建 重复劳动占比高 程序化生成风格迁移 NPC行为设计 模式化严重 强化学习驱动智能行为 任务系统 剧情线性缺乏变化 动态剧情生成系…

定位与解决线上 OOM 问题:原因分析与快速排查指南

OutOfMemoryError (OOM) 是 Java 应用在生产环境中常见的严重问题&#xff0c;可能导致服务不可用、响应延迟或直接崩溃。线上 OOM 的定位和解决需要快速准确&#xff0c;以最小化业务影响。本文将深入分析 OOM 的常见原因&#xff0c;介绍定位 OOM 的系统化方法&#xff0c;并…

Rust 数据类型

Rust 数据类型 Rust 是一种系统编程语言,它旨在提供高性能和内存安全,同时保持并发编程的简洁性。在 Rust 中,数据类型是构成变量和表达式的基石。理解 Rust 中的数据类型对于编写高效、可靠的 Rust 代码至关重要。 引言 Rust 的数据类型分为两大类:基本数据类型和复合数…

Eigen线性代数求解器(分解类)

1. 核心分解类概览 Eigen 提供多种矩阵分解方法&#xff0c;适用于不同矩阵类型&#xff08;稠密/稀疏、正定/非正定等&#xff09;&#xff1a; 分解类适用矩阵类型分解形式典型应用场景PartialPivLU方阵&#xff08;可逆&#xff09;APLUAPLU通用线性方程组求解FullPivLU任…

QQMusic项目功能总结

QQMusic项目功能总结 一、核心功能分类 &#xff08;一&#xff09;界面交互功能 功能模块实现方式使用类&#xff08;自定义/Qt库&#xff09;核心类说明窗口布局Head区&#xff08;图标、搜索框、控制按钮&#xff09; Body区&#xff08;左侧功能栏右侧页面区&#xff09…

2025第十六届蓝桥杯大赛(软件赛)网络安全赛 Writeup

2025第十六届蓝桥杯大赛&#xff08;软件赛&#xff09;网络安全赛 Writeup 2025第十六届蓝桥杯大赛&#xff08;软件赛&#xff09;网络安全赛 Writeup情报收集黑客密室逃脱 数据分析ezEvtxflowzip 密码破解EnigmaECBTraineasy_AES 逆向分析ShadowPhases 漏洞挖掘分析RuneBrea…

CSS Position 属性完全指南

CSS 中的 position 属性是布局的基础&#xff0c;它决定了元素在页面中的定位方式。理解各种定位值的行为和适用场景对于构建灵活、响应式的布局至关重要。 position 属性的五个主要值 1. static&#xff08;默认值&#xff09; 元素遵循正常的文档流不受 top, right, botto…

Java集成Redisson实现分布式锁(实战)

一、Redisson是什么 Redisson 是一个基于 Redis 实现的 Java 驻内存数据网格&#xff08;In-Memory Data Grid&#xff09;。它不仅提供了一系列分布式和可扩展的 Java 数据结构&#xff0c;还对 Redis 进行了封装&#xff0c;让开发者可以更便捷地使用 Redis。 二、Redisson…

linux的例行性工作(at)

使用场景&#xff1a; 生活中&#xff0c;我们有太多场景需要使用到闹钟&#xff0c;比如早上 7 点起床&#xff0c;下午 4 点开会&#xff0c;晚上 8 购物&#xff0c;等等 在 Linux 系统里&#xff0c;我们同样也有类似的需求。比如我们想在凌晨 1 点将文件上传服务器&#…

AAAI2016论文 UCO: A Unified Cybersecurity Ontology

作者信息 作者同样是来自马里兰大学的。 严格说来&#xff0c;此文是Workshop论文&#xff0c;但是一篇非常经典的文章&#xff08;极少数尝试构造通用安全本体的文章&#xff09;&#xff0c;引用非常多。 中心思想 设计UCO&#xff0c;集成来自不同网络安全系统的异构数据…

【白雪讲堂】构建与优化企业知识图谱的实战指南

在GEO&#xff08;生成式引擎优化&#xff09;时代&#xff0c;知识图谱不仅是企业数据资产的“智慧大脑”&#xff0c;更是连接内容与AI理解之间的核心桥梁。一个高质量的知识图谱&#xff0c;能够显著提高AI平台对企业内容的识别度、相关性与推荐权重&#xff0c;从而在AI搜索…