手动封装面包屑组件(Vue3)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手动封装面包屑组件(Vue3)相关的知识,希望对你有一定的参考价值。

参考技术A (BreadItem里面就是放了一个可以点击的链接,分为两种情况,可以跳转和不可以跳转,如果有指定跳转路径,那么就跳转,反之则不允许跳转)

这里的 Bread和BreadItem都是单独封装的全局组件,之后哪里需要面包屑哪里直接使用

1.准备有效的供遍历的数组数据, slotContent数组中得到的数据只有 item.type.name==='BreadItem' 的数据,其它标签都不会被获取到 (这里的BreadItem也是自行封装的组件 )

2.准备一个新空数组

3.遍历数组每循环一次给空对象push一个item,也就是 BreadItem 的标签

4.当满足条件的前提下,push一个<i>标签,原理如下:

最终的数据就['item1' , > , 'item2' , > , 'item3' ]======>渲染结果就是 item1 > item2 > item3 

VUE面包屑组件

 1 <template>
 2     <el-breadcrumb separator-class="el-icon-arrow-right">
 3         <el-breadcrumb-item v-for="item in breadList"
 4                             :to="{path:item.path}"
 5                             :key="item.name">{{item.meta.title}}</el-breadcrumb-item>
 6     </el-breadcrumb>
 7 </template>
 8 
 9 <script>
10 export default {
11     created () {
12         this.getBreadcrumb()
13     },
14     data () {
15         return {
16             breadList: []
17         }
18     },
19     watch: {
20         $route () {
21             this.getBreadcrumb()
22         }
23     },
24     methods: {
25         getBreadcrumb () {
26             let matched = this.$route.matched.filter(item => item.name)
27             this.breadList = matched
28         }
29     }
30 }
31 </script>

注册breadcrumb组件,并使用

技术分享图片

 

技术分享图片

 

以上是关于手动封装面包屑组件(Vue3)的主要内容,如果未能解决你的问题,请参考以下文章

vue3.0+ts+element-plus多页签应用模板:头部工具栏(上)

vue3 Css !important 与deep 修改面包屑的文字颜色

Vue3element ui plus面包屑与vue-route结合使用

Vue + Element UI:管理应用状态

如何使用面包屑导航组件

组件 --BreadCrumb--面包屑