文章目录

  • 效果
  • 一、路由配置
  • 二、使用步骤
    • 1.Breadcrumb.vue:
    • 2.在页面中使用
  • 总结

效果


面包屑用于显示当前页面的路径,快速返回之前的任意页面。

一、路由配置

代码如下:

import Vue from 'vue'
import VueRouter from 'vue-router'Vue.use(VueRouter)const VueRouterPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(to) {return VueRouterPush.call(this, to).catch(err => err)
}const routes = [{ path: '/', component: ()=>import("@/views/LoginView") },{ path: '/login', name: "login",component: ()=>import("@/views/LoginView"),},{path: '/home',name:"home",component: ()=>import("@/views/HomeView"),meta:{title:'首页',path:"/home"},children: [{ //主页path: '/home', component: ()=>import("@/views/main/MainView"),meta:{title:'',path:"/home"}}, { //个人信息path: 'userinfo', component: ()=>import("@/views/userinfo/UserInfo"), meta:{title:'个人中心',path:"/userinfo"}},  { //分析页path: 'analyse', component: ()=>import("@/views/Analyse"),meta:{title:'分析页',path:"/analyse"}},  ]}
]const router = new VueRouter({routes
})export default router

这里使用了router的meta属性,为其设置名为title的属性,用来当作面包屑的展示名称,当然,也可以直接使用路由的name属性。

二、使用步骤

1.Breadcrumb.vue:

代码如下:

<template><div class="Bread"><el-breadcrumb separator="/"><!-- to为点击跳转 title为路由中的meta属性定义的标题 --><el-breadcrumb-item v-for="(item, index) in breadList" :key="index" :to="item.meta.path">{{ item.meta.title }}</el-breadcrumb-item></el-breadcrumb></div>
</template><script>
export default {data() {return {breadList: [],};},watch: {$route() {//监听$routethis.getBreadcrumb();},},methods: {isHome(route) {return route.name === "home";},getBreadcrumb() {let matched = this.$route.matched;//如果不是首页if (!this.isHome(matched[0])) {matched = [].concat(matched);}this.breadList = matched;},},created() {//生命周期中调用获取数据的方法this.getBreadcrumb();},
};
</script><style>
.Bread{height: 30px;float: left;
}
</style>

2.在页面中使用

代码如下:

<!-- 头部 -->
<template><div id="app"><div class="header"><h1>欢迎使用My-Vue-Admin!</h1><div class="full-screen"><Avatar></Avatar><FullScroll></FullScroll></div></div><div class="Bread"><BreadVue></BreadVue></div></div>
</template><script>
// 导入ScreenFull组件,控制全屏
import FullScroll from '@/components/Header/ScreenFull.vue'
// 导入头像组件
import Avatar from '@/components/Header/AvatarHeader.vue'
// 导入面包屑
import BreadVue from '../components/Bread.vue'
export default {components: {FullScroll,Avatar,BreadVue},data(){return{breadList:null,}},
}
</script><style lang="less" scoped>
#app {background-color: #ffffff;margin: 0;padding: 0 0 18px 0px;box-shadow: 0px 0px 8px 1px #e6e6e6;overflow: hidden;
}
.header h1 {margin-bottom: 5px;height: 50px;float: left;margin-left: 40px;
}
.header {text-align: left;overflow: hidden;text-align: right;box-shadow: 0px 0px 5px 0px #e6e6e6;
}
.header i {float: right;
}
#app h1 {margin-top: 0;
}
.full-screen:before {display: flex;overflow: hidden;padding-top: 20px;
}
/deep/.el-breadcrumb {margin: 20px 0 0 40px;
}
</style>

总结

文件目录


vue-router和breadcrumb面包屑结合,实现展示当前路径下的路由信息。关键是利用route对象的matched属性,得到前匹配的路径中所包含的所有片段所对应的配置参数对象数组,然后遍历数组,并利用数组中对象的信息,展示到面包屑中。每个对象的path属性为其对应的路由路径,meta属性为其元数据对象。

vue + Element UI 动态Breadcrumb 面包屑的制作相关推荐

  1. VUE element ui 动态合并单元格问题

    ** VUE element ui 动态合并单元格问题** 1.基础方法 //最开始从网上找到了一个基本的可以同时兼顾行和列的方法,时间太久忘记出自哪里了.如下: //效果 //绑定 :span-me ...

  2. Vue elementUI中的Breadcrumb面包屑

    目录 一.前言 二.组件使用 三.总结 一.前言 面包屑用于显示当前页面的路径,快速返回之前的任意页面. 例如: 二.组件使用 elementUI官网的实例十分简单,并没有配合路由来创建面包屑. 但是 ...

  3. element实现动态路由+面包屑

    要掌握:localStorage,组件封装 ​​​​ emm,第一次上传视频转gif的图片,效果不咋好... 视频转gif 的软件连接 http://www.zxt2007.com/downloads ...

  4. Vue + ElementUI 动态生成面包屑导航教程

    在Web应用程序中,面包屑导航是一种常用的导航方式,它可以帮助用户更好地理解当前页面的位置和层次关系.在Vue项目中,结合ElementUI组件库,我们可以很容易地实现一个动态生成面包屑导航的功能.本 ...

  5. 【前端】Vue+Element UI案例:通用后台管理系统-登陆不同用户显示不同菜单、动态添加路由

    文章目录 目标 代码 0.动态地显示菜单:store 1.动态注册路由 2.解决刷新后摆平问题 总代码 本篇修改的代码文件 tab.js 参考视频: VUE项目,VUE项目实战,vue后台管理系统,前 ...

  6. 基于vue(element ui) + ssm + shiro 的权限框架

    zhcc 基于vue(element ui) + ssm + shiro 的权限框架 引言 心声 现在的Java世界,各种资源很丰富,不得不说,从分布式,服务化,orm,再到前端控制,权限等等玲琅满目 ...

  7. 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Table表格增删查改、Pagination分页、搜索框

    文章目录 目标 代码 0.结构 1.按钮-删除 2.按钮-编辑 3.debug 4.样式 5.分页Pagination:功能 6.分页Pagination:样式 7.搜索框:功能 8.搜索框:样式 总 ...

  8. 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Form表单填写、Dialog对话框弹出

    文章目录 目标 代码 0.页面结构 1.新增按钮和弹出表单:结构 2.新增按钮和弹出表单:点击新增弹出表单 3.表单样式 4.表单验证 5.表单的提交和取消功能:接口.mock相关准备 6.表单的提交 ...

  9. 【前端】Vue+Element UI案例:通用后台管理系统-代码总结(已开源)

    文章目录 前言 项目文件目录 api mockServe home.js permission.js index.js mock.js user.js assert components Common ...

最新文章

  1. 推荐几个(抖音/阿里/腾讯)年薪100W大佬的硬核公众号
  2. css3 animation(左右摆动) (放大缩小)
  3. springMVC 之 annotation
  4. EasyUI combobox 中文无法检索最终解决方案!
  5. eclipse查看git地址_git下载及使用
  6. 本地 Windows 如何将 Web 工程部署到远程 Windows 主机上
  7. magento 增加一个layout template
  8. PyTorch——深度神经网络的写作笔记
  9. 移动支付到底有多美?
  10. 一个用户故事的样例(极限编程)
  11. 微信小程序-携带参数的二维码条形码生成
  12. 团队作业九---项目验收与总结
  13. Cisco交换机IOS升级
  14. 第二个项目前预演,完成了,(第6200小时的时候)
  15. 使用Python-OpenCV将图片批量转换为jpg格式
  16. 如何用计算机名添加的打印机,如何添加打印机(如何在电脑上安装打印机)
  17. 2014武汉理工计算机专业李帅,武汉理工大学信息工程学院2014考研复试名单公示...
  18. 对上传图片进行处理,大图片压缩补白,小图片适度放大四周补白
  19. 穷人python入门教程视频_穷的解释|穷的意思|汉典“穷”字的基本解释
  20. 【问题解决】Invalid bound statement(not found)

热门文章

  1. unity之使用FPS第一人称后鼠标消失
  2. win11 安卓子系统(WSA)安装教程
  3. 下周一直播 | 深度学习算法可视化调优实战演示
  4. Javase尚硅谷笔记
  5. 什么是善辩型人格?善辩性人格的职业分析
  6. 华为S5700-SI 系统打补丁
  7. 【1月英语—罗塞塔之爱】
  8. OSChina 周五乱弹 ——一句话总结程序员的2017
  9. mac安装jekyll
  10. Vue3 + TS(一)- 邂逅Vue