【Element-UI笔记】使用面包屑(breadcrumb)来导航

本文详细介绍了面包屑导航的概念,展示了其在网页中的实际应用,并提供了使用Element-UI实现面包屑导航的具体代码示例。

什么是面包屑导航


一般页面内容上方都会有一个路径导航,这个导航就是面包屑导航。例如:
在这里插入图片描述
上面这个图表示我们当前的页面是Breadcrumb面包屑,上一级目录是组件页面,再上一级目录是Element UI页面。当我们点击这些目录时会返回到对应的页面中去。再例如:
在这里插入图片描述
上面这个图表示我们当前所在的位置是活动详情页面,上一级目录是活动列表页面…以此类推。
这些就是面包屑导航


Element-UI如何实现面包屑导航


我们以实现下面这个面包屑导航为例:
在这里插入图片描述
上面这个导航包括当前页面二级目录,上一级页面一级目录和根页面首页。上面这个导航的代码可以表示为:

<div class="crumbs">
   <el-breadcrumb separator="/">
       <el-breadcrumb-item :to="{path:'/main/home'}">首页</el-breadcrumb-item>
       <el-breadcrumb-item><a href="/main/dir1">一级目录</a></el-breadcrumb-item>
       <el-breadcrumb-item>人员管理</el-breadcrumb-item>
   </el-breadcrumb>
</div>

首先我们将这个导航用一个div模块包裹起来,保持它的独立性和模块性。这个div模块的style类型就是"crumbs",是面包屑导航自有的style类型,不用自己写。

然后将所有路径使用<el-breadcrumb>包裹起来。separator='/'separator属性的值是一个字符串,默认是斜杠’/’,这个separator就是将我们的路径分开的符号,当然我们也可以使用">", "//"之类的符号。

添加导航路由有两种方式:
一种方式是在el-breadcrumb-item中直接添加路由:to:{path:'/main/home'}
另一种方式是在el-breadcrumb-item添加链接<a href="/"></a>

### Element-UI 面包屑组件 (Breadcrumb)使用方法 #### 基本概念 `el-breadcrumb` 是 Element-UI 提供的一个用于导航路径展示的组件。它可以帮助用户清楚地知道当前页面的位置以及如何返回上层目录。通过 `el-breadcrumb-item` 子组件定义每一级路径。 --- #### 安装与引入 如果尚未安装 Element-UI,则可以通过 npm 或 yarn 进行安装: ```bash npm install element-ui --save ``` 或者 ```bash yarn add element-ui ``` 接着,在项目的入口文件中全局注册 Element-UI: ```javascript import Vue from 'vue'; import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; Vue.use(ElementUI); ``` --- #### 使用示例 ##### 1. 简单静态面包屑 以下是简单的静态面包 crumbs 示例,其中每项都指向不同的路由地址。 ```html <template> <div class="example"> <el-breadcrumb separator="/"> <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item> <el-breadcrumb-item :to="{ path: '/parent' }">父页</el-breadcrumb-item> <el-breadcrumb-item>子页</el-breadcrumb-item> </el-breadcrumb> </div> </template> <script> export default { name: "Example", }; </script> ``` 上述代码展示了三个级别的导航结构,并且前两级支持跳转功能[^4]。 --- ##### 2. 动态生成面包屑 当项目中的路由较为复杂时,可以利用计算属性动态生成面包屑列表。下面是一个基于路由元信息 (`meta`) 的实现方式。 **模板部分** ```html <template> <div class="dynamic-example"> <el-breadcrumb separator-class="el-icon-arrow-right"> <el-breadcrumb-item v-for="(item, index) in breadList" :key="index" :to="item.to">{{ item.name }}</el-breadcrumb-item> </el-breadcrumb> </div> </template> ``` **脚本部分** ```javascript <script> export default { name: "DynamicBreadcrumbs", computed: { breadList() { return this.$route.meta.breadList || []; }, }, }; </script> ``` **路由配置** 在路由表中设置 `meta.breadList` 属性来指定各级名称及其对应的链接。 ```javascript const routes = [ { path: "/dashboard", meta: { breadList: [ { name: "首页", to: "/" }, { name: "仪表盘", to: "/dashboard" }, ], }, component: () => import("../views/Dashboard.vue"), }, ]; ``` 此方法能够灵活适配不同场景下的需求。 --- #### 自定义分隔符 默认情况下,`separator` 参数决定了各层级之间的分割线样式,默认为 `/` 。也可以自定义图标作为分隔符,例如箭头或其他图形。 ```html <el-breadcrumb separator-class="el-icon-arrow-right"> <!-- 同样按照上面的方式填充 --> </el-breadcrumb> ``` 这里需要注意的是,当采用图标形式时需移除字符串类型的 `separator` ,而改用类名绑定到 `separator-class` 上。 --- #### 性能优化建议 对于大型应用而言,频繁更新整个面包屑可能会带来性能开销。因此推荐仅修改必要的字段而非重新渲染全部内容;另外还可以考虑懒加载某些深层节点的数据以减少初始加载时间。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值