Vue3 实现头部面包屑导航

首页 /  列表页 / demo

上代码:

import { useRoute } from "vue-router";
import {watch} from 'vue'
const breadList = ref<string[]>([])
const route = useRoute();

watch(route,()=>{
  if(route.path !=='/login'){  //如果说我要去的页面不是登录页
   breadList.value = []   //先把上次登陆的面包屑数据清空
   breadList.value.push('首页')  //刚一进来 展示的是 ‘首页’ 字样
  // route.matched:当前路由的所有嵌套路径片段的路由记录
   for (let i = 1; i < route.matched.length; i++) {  
 //从1开始循环是因为 如果数组第0项 meta 为空
   let matchedName = route.matched[i].meta.title as string
  breadList.value.push(matchedName)
   }
  }
},{immediate: true, deep: true})   
//深度监听 立即执行  不加这句话 初始化 为空
 <el-breadcrumb separator="/">
    <el-breadcrumb-item v-for="(item,index) in breadList" :key="index">{{item}}
    </el-breadcrumb-item>
  </el-breadcrumb>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3和Element Plus中实现面包屑导航的联动是相对简单的。下面是一个示例,你可以根据自己的需求进行调整。 首先,在你的组件中,你需要使用`el-breadcrumb`和`el-breadcrumb-item`组件来创建面包屑导航。然后,你可以通过`v-for`指令来遍历你的路由数组,动态生成面包屑导航项。当用户点击某个面包屑导航项时,你可以通过路由的`push`方法来实现路由的切换。 ```vue <template> <el-breadcrumb separator="/"> <el-breadcrumb-item v-for="(route, index) in routes" :key="index"> <span @click="goToRoute(route)">{{ route.name }}</span> </el-breadcrumb-item> </el-breadcrumb> </template> <script> export default { data() { return { routes: [ { name: '首页', path: '/' }, { name: '产品', path: '/products' }, { name: '商品详情', path: '/products/:id' }, ], }; }, methods: { goToRoute(route) { this.$router.push(route.path); }, }, }; </script> ``` 在这个示例中,我们使用了一个`routes`数组来存储我们的路由信息。每个路由对象都有一个`name`属性和一个`path`属性,分别表示面包屑导航项的显示名称和路由路径。当用户点击面包屑导航项时,我们调用`goToRoute`方法来切换路由。 需要注意的是,这里使用了Vue Router的`push`方法来实现路由的切换。你需要确保你已经正确配置了Vue Router,并且在使用该组件的父级组件中引入了Vue Router。 希望这个示例可以帮助到你实现Vue3和Element Plus的面包屑导航联动。如果你有任何进一步的问题,请随时提问!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值