Vue3+Elementplus引入面包屑功能

news2024/12/29 11:49:44

🍁 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家,51CTO明日之星
📌 擅长领域:全栈工程师、爬虫、ACM算法
💒 公众号:知识浅谈
🔥 网站:vip.zsqt.cc

🤞Vue3+Elementplus引入面包屑功能总结🤞
在这里插入图片描述

正菜来了⛳⛳⛳

🎈路由内的内容

因为面包屑是根据路由的内容来显示的

{
    path: "/home",
    name: "home",
    // 懒加载
    component: () => import("../views/home/index.vue"),
    meta: {
      title: "主页",
    },
    children: [
    {
	    path: "/recruitManage",
	    name: "recruitManage",
	    component: () => import("../views/home/childrens/RecruitManage.vue"),
	    meta: {
	      title: "招聘管理",
	      icon: Guide
	    },
	    children: [
	      {
	        path: "/noticeList",
	        name: "noticeList",
	        // 懒加载
	        component: () => import("../views/home/childrens/NoticeList.vue"),
	        meta: {
	          title: "公告管理"
	        },
	      },
	      {
	        path: "/postList",
	        name: "postList",
	        // 懒加载
	        component: () => import("../views/home/childrens/PostList.vue"),
	        meta: {
	          title: "职位管理",
	        },
	      },
	    ]
  	}
 }

开始插入面包屑🎈

温馨提醒:这个有点仔细,请仔细看下去

 <!-- 面包屑(放到你想要放的template中的位置) -->
<el-breadcrumb separator=">">
     <!-- <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item> -->
     <template v-for="(item, index) in breadList">
       <el-breadcrumb-item
         v-if="item.name"
         :key="index"
         :to="item.path"
       >{{ item.meta.title }}</el-breadcrumb-item>
     </template>
   </el-breadcrumb>
<script setup>
import { useRouter,useRoute } from 'vue-router';

let router = useRouter();
let route = useRoute();

let getMatched=()=>{
  console.log(route.matched);
  breadList.value = route.matched.filter(item => item.meta && item.meta.title);
}
onMounted(()=>{
  getMatched();
})

watch(() => route.path, (newValue, oldValue) => { //监听路由路径是否发生变化,之后更改面包屑
  breadList.value = route.matched.filter(item => item.meta && item.meta.title);
})

</script>

🍮插入内容讲解

📐第 1 步:导入route,使用其能访问到路由的路径

import { useRouter,useRoute } from 'vue-router';

let router = useRouter();
let route = useRoute();

📐第 2 步 :编写获取路径的方法
matched获取访问网址在路由中的路径,并过滤掉item没有title的元素,因为需要用title填充面包屑的内容

let getMatched=()=>{
  console.log(route.matched); //打印路径数组
  breadList.value = route.matched.filter(item => item.meta && item.meta.title);
}

📐第 3 步:页面加载时调用获取路径形成面包屑

onMounted(()=>{
  getMatched();
})

📐第 4 步 :监听路由发生变化面包屑进行相应的修改

watch(() => route.path, (newValue, oldValue) => { //监听路由路径是否发生变化,之后更改面包屑
  breadList.value = route.matched.filter(item => item.meta && item.meta.title);
})

🍚总结

以上就是面包屑在vue3和elementplus项目中的应用。

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

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

相关文章

it设备系统联网监控

随着网络的兴起和应用的深入&#xff0c;网络安全问题日益突出。在这种环境下&#xff0c;IT网络监控应运而生。它就像一个无形的守护者&#xff0c;密切关注我们的网络空间&#xff0c;确保我们的信息安全。  简单来说&#xff0c;IT网络监控就是通过技术手段对网络进行实时…

Cookie 和 Session机制

Cookie HTTP 协议自身是属于 "无状态" 协议. "无状态" 的含义指的是: 默认情况下 HTTP 协议的客户端和服务器之间的这次通信, 和下次通信之间没有直接的联系. 但是实际开发中, 我们很多时候是需要知道请求之间的关联关系的. 例如登陆网站成功后, 第二次访…

C++ -- IO流

目录 C语言的输入与输出 CIO流 C标准IO流 C文件IO流 文件常见的打开方式如下 以二进制的形式操作文件 以文本的形式操作文件 读写结构体 stringstream的简单介绍 C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输…

“构建可靠的前端测试环境与主页搭建实践“

目录 引言1. Mock.js的安装配置及使用1.1 安装Mock.js1.2 引入mockjs造假数据 2. 主页搭建实践1.1 设计主页结构配置路由 总结 引言 在现代软件开发中&#xff0c;前端测试和主页搭建是至关重要的环节。本文将介绍如何使用Mock.js进行安装配置和使用&#xff0c;并探讨如何构建…

解决方案|法大大电子签:3招击破汽车销售效率及成本难题!

近日&#xff0c;国家发改委、工业和信息化部、公安部等13部门联合发布《关于促进汽车消费的若干措施》&#xff0c;进一步稳定和扩大汽车消费&#xff0c;优化汽车购买使用管理制度和市场环境&#xff0c;更大力度促进新能源汽车持续健康发展。主要措施包含支持老旧汽车更新消…

云原生Kubernetes:K8S资源控制之污点与容忍

目录 一、理论 1.污点 2.容忍 3. Pod启动阶段 4. 故障排除步骤 5.对节点执行维护操作 二、实验 1.污点 2.容忍 三、问题 1.pod上配置容忍生成资源报错 四、总结 一、理论 1.污点 &#xff08;1&#xff09;作用 节点亲和性,是Pod的一种属性(偏好或硬性要求) ,它…

基于Java的超市进销存系统springboot18

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…

软件测试内容整理

1. 软件测试 1.1. 定义 软件测试&#xff08;英语&#xff1a;Software Testing&#xff09;&#xff0c;描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说&#xff0c;软件测试是一种实际输出与预期输出之间的审核或者比较过程。 软件测试的经典定…

vue微前端qiankun框架学习到项目实战

微前端架构 一、什么是微前端架构 微前端是一种多个团队通过独立发布功能的方式来共同构建现代化web应用的技术手段及方法策略。 微前端借鉴了微服务的架构理念&#xff0c;将一个庞大的前端应用才分为多个独立灵活的小型应用&#xff0c;每个应用都可以独立开发&#…

lazada商品详情数据接口,支持多个国家站点

Lazada商品详情数据接口是一个RESTful风格的接口&#xff0c;通过HTTP协议来访问和操作资源。 Lazada商品详情API接口的使用方法如下&#xff1a; 获取Lazada平台上指定商品的详细信息&#xff0c;包括商品名称、价格、库存、分类、描述、图片等。支持通过商品ID、SKU、Selle…

短视频矩阵系统源码saas开发技术搭建代部署

一、短视频矩阵系统建模----技术api接口--获取用户授权 技术文档分享&#xff1a; 本系统采用MySQL数据库进行存储&#xff0c;数据库设计如下&#xff1a; 1.用户表&#xff08;user&#xff09;&#xff1a; - 用户ID&#xff08;user_id&#xff09; - 用户名&#xff0…

十大直线导轨品牌

在现如今的制造业领域中&#xff0c;直线导轨作为重要的传动元件&#xff0c;广泛应用于各种机械装置中&#xff0c;以下是十个在直线导轨领域具有优秀表现的品牌&#xff0c;我们一起来看看&#xff1a; 1、日本THK&#xff0c;致力于开发、生产并且销售LM滚动导轨、滚珠花键、…

php eayswoole node axios crypto-js 实现大文件分片上传复盘

不啰嗦 直接上步骤 步骤1.开发环境配置 项目需要node.js 做前端支撑 官网下载地址: http://nodejs.cn/download/ 根据自己需要下载对应的版本,我下载的是windows系统64位的版本。 包下载好后 进行安装,安装步骤在此省略... 测试是否安装成功 如果是window 按住键…

WorkPlus Meet 视频会议,自主可控,支持私有化部署

在数字化时代&#xff0c;视频会议成为企业沟通和协作的重要工具。然而&#xff0c;许多企业对于数据安全和隐私保护的担忧使得选择合适的视频会议平台变得十分关键。作为一款具有私有化部署能力的视频会议工具&#xff0c;WorkPlus Meet完美替代了SaaS的腾讯视频会议&#xff…

HarmonyOS 4.0 实况窗上线!支付宝实现医疗场景智能提醒

本文转载自支付宝体验科技&#xff0c;作者是蚂蚁集团客户端工程师博欢&#xff0c;介绍了支付宝如何基于 HarmonyOS 4.0 实况窗实现医疗场景履约智能提醒。 1.话题背景 8 月 4 日&#xff0c;华为在 HDC&#xff08;华为 2023 开发者大会&#xff09;上推出了新版本操作系统…

TensorFlow入门(一)

一、下载安装Anaconda 下载地址:http://www.anaconda.comhttp://www.anaconda.com 下载完成后运行exe进行安装 二、下载cuda 下载地址:http://developer.nvidia.com/cuda-downloadshttp://developer.nvidia.com/cuda-downloads 下载完成后运行exe进行安装 安装后winR cmd进…

带权并查集

题目 并查集相信大家都不陌生&#xff0c;能够以极低的时间复杂度进行区间合并和区间查询&#xff0c;而带权并查集就是在此基础上新增了查询和维护节点到根节点距离的功能&#xff0c;注意此处所说的距离并不是并查集树形数据结构里节点之间的距离&#xff0c;而是题目里面描…

SpringBoot整合阿里云发送短信 (demo)

1. 登录阿里云 - 搜索【短信服务】- 套餐【立即购买】 2. 添加签名 国内消息 - 签名管理 - 添加签名 3. 添加模板 国内消息 - 模板管理 - 添加模板 模板详细 4. 依赖 <!--阿里云短信服务--> <dependency><groupId>com.aliyun</groupId><artifactI…

中国城市政商关系健康总指数、方面指数及一级指标得分2018

中国城市政商关系健康总指数、方面指数及一级指标得分2018 1、指标&#xff1a;省份代码、省份、城市代码、城市名称、政商关系健康指数、亲近指数、清白指数、政府关心、政府服务、企业税负、政府廉洁度、政府透明度 2、范围&#xff1a;290个地级市 3、数据说明&#xff1…

IDEA新建.xml文件显示为普通文本

情况如下&#xff1a; 1. 在XML文件中添加*.xml的文件名模式 2. 在文本中&#xff0c;选中*.xml进行删除