如何实现带动画的动态面包屑,来看看?

news/2024/12/30 2:01:33/

        大家好,我是派大星,最近在自己手动搭建一个后台管理平台,将其命名为 “雷达行动 Radar-Solution” ,在开发的过程中对比了一下其他已经成型的后台解决方案,发现都存在一个共性,就是在Layout的头部都有一个面包屑组件,感觉那些都太过正经,切换的时候也没有什么动画效果,就想着要不自己搞一个带动画的面包屑玩玩。

动态面包屑

    • 面包屑组件
      • 静态面包屑
      • 动态面包屑
        • 1. 创建基本的面包屑组件
        • 2. 获取路由数据
        • 根据数据渲染动态面包屑导航
        • 4. 实现动画效果
        • 结束

面包屑组件

何为面包屑组件:

是在用户界面中的一种导航辅助。它是用户一个在程序或文件中确定和转移他们位置的一种方法。
常见的面包屑导航组件分为两类,分别是:

  • 静态面包屑
  • 动态面包屑
    让我们先来认识这两种面包屑组件如何实现的,同样又存在那些优缺点吧

静态面包屑

指的是在每个页面中写死对应的面包屑导航菜单

优点:

  • 逻辑简单,写完一个,其他的直接粘贴复制即可

缺点:

  • 每个页面都需要写一遍
  • 页面的路径结构发生变化了,需要手动修改
  • 难维护、难扩展

动态面包屑

根据当前的url 自动生成面包屑导航菜单

优点:

  • 无论路径发生什么变化,动态面包屑都会正确的计算

缺点:

  • 比静态面包屑的逻辑稍稍复杂一丢丢

那么接下来,我们就用动态面包屑来完成这项需求,在编码开始之际,让我们先对需求进行分析以及划分好实现步骤,以免在实现过程中保证逻辑清晰

  • 创建基本的面包屑组件
  • 获取路由数据
  • 根据数据渲染动态面包屑导航

ps: 以下出现的代码使用为ElementUI

1. 创建基本的面包屑组件

在这里插入图片描述
呈现效果如下:
在这里插入图片描述
那么第一步静态的面包屑已经完成了,接下来我们就需要在这个静态的组件上动动手脚,从上面的的代码中不难发现,这个组件中主要包含了两个组件部分:

  • el-breadcrumb:包裹性质的容器
  • el-breadcrumb-item:单独的导航项
    如果我们想完成动态效果,只需要依据动态数据,对el-breadcrumb-item循环遍历即可,那么接下来就只需要考虑数据如果获取数据即可!

2. 获取路由数据

对于获取路由数据,我们只需要对路由进行监听即可,从而来获取获取数据,这里Vue为我们提供了具体的获取方法,只需要通过vue.$route.matched来获取与给定路由地址匹配的数据,如果对这个属性还不是很了解的小伙伴,我这里直接 送你去 ,这里就只介绍实现方法了。

在这里插入图片描述
监听路由的变化,我们就可以获取具体的路由地址了

根据数据渲染动态面包屑导航

既然数据也已经得到了,想必不需要我说大家也应该都知道该怎么做了,趁面包屑不注意上来就是对el-breadcrumb-item一个v-for操作,
在这里插入图片描述呈现效果如下:
在这里插入图片描述

4. 实现动画效果

基本的面包屑导航栏已经完成了,但是还没有动画效果,那么我们的任务还没有完成,继续给现有的面包屑添加动画效果,其实在Vue中也已经为我们提供了添加动画的方法,使用transition将我们需要添加动画的部分包裹起来即可,这里就不介绍概念了,如果还不了解,依旧 送你去 ,那么接下来就使用transition将我们的面包屑包裹起来即可!
在这里插入图片描述
然后再为其添加上具体的动画样式就大功告成了!
在这里插入图片描述结束,接下来让我们看看最终的呈现效果吧!
在这里插入图片描述
终于我们实现了最初理想的结果,这个案例对于我来说不仅让我巩固了Vue的部分指令操作,而且还让自己有了更多的思考思考过程。

结束

这里仅是关于面包屑的部分案例,全部代码可以到GitHub中获取,项目还在开发过程中…
GitHub地址:https://github.com/pdxjie/vue-admin-radar


http://www.ppmy.cn/news/6852.html

相关文章

【实时数仓】DWS层之关键词主题表(FlinkSQL)、数据可视化接口、Sugar数据大屏、总成交金额接口实现

文章目录一 DWS层-关键词主题表(FlinkSQL)1 过滤数据2 利用UDTF进行拆分(1)拆分结果(2)Join 表函数 (UDTF)(3)代码3 分组、开窗、聚合计算4 转换为流并写入ClickHouse(1)在ClickHous…

设计模式分类及六大原则

一、设计模式的分类 创建型模式: 工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式: 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式行为模式: 策略模式、模板方法模式、观察者模式、责…

【leetcode】最大数

一、题目描述 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。 示例 1: 输入:nums …

管理员权限功能和开机自启功能

前言 开机启动功能在Window下是很重要的一个功能,很多程序它都需要这样的功能 一.VS的配置选项(以管理员权限启动程序) 作用:用户在点击任务栏窗口等需要管理员权限时不会没有响应。 二.开机自启动(注册表&#xff…

【Educoder作业】CC++文件实训

【Educoder作业】C&C文件实训 拖了很久了,主要是当时没有完全理解 整个文件实训和之前的区别就在于,处理问题的时候我们的数据是存到了文件里或者我们希望把输出放到文件里。所以只需要解决文件输入和文件输出的问题即可。四个关卡相当于不同的手段&…

用uniapp实现teb切换

1.html <view><!-- tab栏切换动态改变激活样式 --><view class"nav"><view class"nav-list" v-for"(item,index) in list" :key"item.id" tap"changeAct(item)"><!-- 激活样式名字是红色 判断a…

李宪磊老师:人力资源一定要懂得八条人力资源管理定律

李宪磊老师:人力资源一定要懂得八条人力资源管理定律 作为人力资源&#xff0c;在职场上一定要知道的八条人力资源管理定律&#xff0c;看看您能知道多少&#xff0c;懂得这些定律&#xff0c;可以轻松的做好人力资源的工作&#xff0c;接下来和老师一起来学习下吧。 李宪磊老师…

OpManager 实时网络监控

网络是全球企业背后的基础。它在为您的员工提供行政服务以及为各大洲的客户提供服务方面发挥着关键作用。网络可帮助您将信息保存在一个集中位置 - 需要和限制所有其他入站请求的人员可以访问。那么&#xff0c;您如何提供持续的一流最终用户体验并维护快速发展的网络呢&#x…