vue三级路由显示+面包屑

问题一:如何让三级路由内容显示显示在一级路由页面

可以说是我点级二级路由导航的时候是不发生跳转的,但还要去动态的生成面包屑
在这里插入图片描述

const routes = [{
  path: '/',
  name: 'Home',
  component: Home,
  redirect: '/home',
  meta: {
    title: "首页"
  },
  children: [{
      path: '/home',
      name: 'homeContent',
      component: () => import('../views/home/insideComponent/homeContent.vue'),
    },
    // 采集管理
    {
      path: "/collectmanage",
      meta: {
        title: "采集管理"
      },
      component: () => import('../components/publish.center.vue'),
      children: [{
          path: '/serverManage',
          name: 'serverManage',
          component: () => import('../views/collectmanage/serverManage.vue'),
          meta: {
            title: "服务器管理"
          }
        },
        {
          path: '/dataListManage',
          name: 'dataListManage',
          component: () => import('../views/collectmanage/dataListManage.vue'),
          meta: {
            title: "数据表管理"
          }
        },
      ]
    },
   ]} 
解决方法 (中间件)

我在二级路由定义的时候,导入的一个名为publish.center.vue的组件,这个组件

<template>
    <router-view></router-view>
</template>
<script>
export default {
}
</script>

这个组件加了一个router-view,用来起到一个中间件作用,就可以实现了。

面包屑的实现

这个我使用的是element的面包屑

     <header class="bread">
            <el-breadcrumb separator-class="el-icon-arrow-right">
              <el-breadcrumb-item v-for="(item,index) in breadlist"  :key="index" :to="{ path: '/' }">{{item.meta.title}}</el-breadcrumb-item>
            </el-breadcrumb>
          </header>


// 利用监听器调用 getBreadcrumb方法
  watch:{
    $route(e){
      this.getBreadcrumb()
      console.log(e);
    }
  }
    getBreadcrumb(){
      let matched = this.$route.matched;
      this.breadlist=matched
    }
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Vue3中实现面包屑路由跳转需要使用Vue Router和Vue Composition API。首先,我们需要在项目中安装Vue Router和创建路由配置。 1.安装Vue Router: 我们可以使用npm或者yarn来安装Vue Router ``` npm install vue-router ``` 2.创建路由配置: 在main.js中导入Vue Router,并创建路由实例,配置路由表和对应的组件。 ```javascript import { createApp } from 'vue' import { createRouter, createWebHistory } from 'vue-router' import Home from './components/Home.vue' import About from './components/About.vue' import Contact from './components/Contact.vue' const routes = [ { path: '/', component: Home }, { path: '/about', component: About }, { path: '/contact', component: Contact } ] const router = createRouter({ history: createWebHistory(), routes }) createApp(App).use(router).mount('#app') ``` 3.实现面包屑导航: 在App.vue中,我们可以使用`$route`属性来获取当前路由信息,并使用`v-for`指令循环渲染面包屑导航。 ```vue <template> <div> <ul> <li v-for="crumb in crumbs" :key="crumb.path"> <router-link :to="crumb.path">{{ crumb.name }}</router-link> </li> </ul> <!-- 其他内容 --> <router-view></router-view> </div> </template> <script> export default { computed: { crumbs() { const matched = this.$route.matched return matched.map(route => ({ name: route.name, path: route.path })) } } } </script> ``` 在上面的代码中,我们使用`$route.matched`来获取与当前路径匹配的路由记录数组并遍历生成面包屑导航。每个导航都使用`router-link`组件渲染,并根据对应的路由记录设置路径和称。 4.实现路由跳转: 要实现路由跳转,我们可以在模板中使用`router-link`组件,或者在JavaScript中使用Vue Router提供的编程式导航方法。 ```vue <template> <div> <router-link to="/">Home</router-link> <router-link to="/about">About</router-link> <router-link to="/contact">Contact</router-link> <!-- 其他内容 --> <router-view></router-view> </div> </template> ``` 或者在JavaScript中使用编程式导航: ```javascript // 在Vue组件中 this.$router.push('/about') // 跳转到/about // 在普通JavaScript中 router.push('/about') // 跳转到/about ``` 以上就是使用Vue3和Vue Router实现面包屑导航和路由跳转的基本步骤。通过配置路由表和使用Vue Router提供的组件和API,我们可以轻松地实现面包屑导航和路由跳转功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值