日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

根据路由记录(利用matched)动态生成面包屑导航

發布時間:2023/12/29 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 根据路由记录(利用matched)动态生成面包屑导航 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

動態面包屑效果:

  1、當路由為/home時,面包屑只展示一級

    

  2、當路由為/home/manage時,面包屑顯示一級和二級

    

  3、當路由為/home/manage/list或/home/manage/test時,面包屑顯示一級、二級、三級

    

    

實現:

  1、components/BreadCrumb.vue

<template>
  <el-breadcrumb separator="/">
    <el-breadcrumb-item v-for="item in list" :key="item.path">
      <router-link :to="item.path">{{item.meta.title}}</router-link>
    </el-breadcrumb-item>
  </el-breadcrumb>
</template>
<script>
export default {
  computed: { list: (vm) => vm.$route.matched }
}
</script>

  components/Home.vue

<template>
  <div>
    <h1>首頁</h1>
    <router-view></router-view>
  </div>
</template>

  components/Manage.vue

<template>
  <div>
    <h1>活動管理</h1>
    <router-view></router-view>
  </div>
</template>

  components/List.vue

<template>
  <h1>活動列表</h1>
</template>

  components/Test.vue

<template>
  <h1>測試</h1>
</template>

  2、router/index.js

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)

import Home from '@/components/Home'
import Manage from '@/components/Manage'
import List from '@/components/List'
import Test from '@/components/Test'

const routes = [
  {
    path: '/',
    redirect: '/home'
  },
  {
    path: '/home',
    name: 'Home',
    component: Home,
    meta: { title: '首頁' },
    children: [
      {
        path: 'manage',
        name: 'Manage',
        component: Manage,
        meta: { title: '活動管理' },
        children: [
          {
            path: 'list',
            name: 'List',
            component: List,
            meta: { title: '活動列表' }
          },
          {
            path: 'test',
            name: 'Test',
            component: Test,
            meta: { title: '測試' }
          }
        ]
      }
    ]
  }
]
const router = new VueRouter({
  mode: 'history',
  routes
})

export default router

  3、App.vue

<template>
  <div id="app">
    <BreadCrumb />
    <router-view></router-view>
  </div>
</template>
<script>
import BreadCrumb from '@components/BreadCrumb'
export default {
  components: { BreadCrumb }
}
</script>

解釋說明:

  1、home為一級路由,manage為二級路由,list和test為三級路由

  2、routes中對每個路由對象添加meta屬性,設置title

  3、BreadCrumb組件中通過vm.$route.matched獲取到路由信息list,遍歷該list生成動態面包屑

總結

以上是生活随笔為你收集整理的根据路由记录(利用matched)动态生成面包屑导航的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。