vue+element-ui面包屑导航

9 篇文章 0 订阅

vue+element-ui面包屑导航

所需组件及引入文件

(npm、elelment-ui等基础安装在此不做介绍)
如同上一篇( vue&Element-ui实现的导航菜单)中介绍,需要布局layout公共组件,路由配置文件,此篇中路由配置文件同上一篇中,在此主要介绍面包屑导航,其余可参考上一篇,链接如下

链接: vue&Element-ui实现的导航菜单链接.

组件存放内容

1、公共组件layout中引入面包屑导航组件,具体位置根据自己需要设定,面包屑导航利用element-ui中的,可事先了解

链接: Element-ui面包屑导航.
layout.vue存放内容:
在这里插入图片描述
2、面包屑组件BreadCrumb.vue

<template>
  <div class="breadcrumb">
      <el-breadcrumb class="app-breadcrumb" separator=">">
        <transition-group>
          <el-breadcrumb-item  v-for="item in levelList" :key="item.path">
            <a  @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
          </el-breadcrumb-item>
        </transition-group>
      </el-breadcrumb>
  </div>
</template>

<script>

export default{
    data(){
        return {
            levelList:null
        }
    },
    created() {
       this.getBreadList()
    },
    watch:{
        $route(){
            this.getBreadList()
        }
    },
   methods:{
      getBreadList(){
         let matched=this.$route.matched.filter(item=>item.name)//$route.matched 将会是一个包含从上到下的所有对象 (副本)。
            //  const first=matched[0]
            //  if(first && first.name !=='home'){//$route.name当前路由名称;$route.redirectedFrom重定向来源的路由的名字
            //    matched=[{ path: '/home', meta: { title: '首页' }}].concat(matched)
            //  }
             this.levelList=matched
      },
      handleLink(item) {
        const { redirect, path } = item
        if (redirect) {
          this.$router.push(redirect)
          return
        }
        this.$router.push(this.pathCompile(path))
      },
      pathCompile(path) {
        const { params } = this.$route
        var toPath = pathToRegexp.compile(path)//url 的正则表达式,快速填充 url 字符串的参数值。
        return toPath(params)
      },
      
   },
}
</script>

实现效果

在这里插入图片描述

  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值