vue實(shí)現(xiàn)面包屑的方法
vue中面包屑的實(shí)現(xiàn)方法,供大家參考,具體內(nèi)容如下
面包屑是什么:
- 面包屑是作為輔助和補(bǔ)充的導(dǎo)航方式(secondary navigation scheme),它能讓用戶知道在網(wǎng)站或應(yīng)用中所處的位置并能方便地回到原先的地點(diǎn)。
- 最常見的面包屑的樣式是:橫向的文字鏈接,由大于號(hào)“>”分開,這個(gè)符號(hào)也暗示了它們的層級(jí)關(guān)系
實(shí)現(xiàn)原理:
1.在router配置中加入meta(元數(shù)據(jù))對(duì)象,存放一些自定義的內(nèi)容。例如在面包屑的實(shí)現(xiàn)中加入title變量,這個(gè)變量則是面包屑展示出來的多級(jí)標(biāo)題。
2.在用到面包屑的頁面中調(diào)用watch監(jiān)聽,監(jiān)聽route的變化,用this.$route.matched獲取到匹配當(dāng)前路由的所有片段的配置參數(shù)對(duì)象,返回一個(gè)數(shù)組,存到list中
3.用v-for 遍歷li標(biāo)簽,將list.meta.title作為router-link的{標(biāo)題信息},:to=“list.path”,將list信息動(dòng)態(tài)渲染到面包屑上
具體的代碼演示
面包屑組件:
breadcrumb.vue
<template> ? ? <div class="breadcumb"> ? ? ? ? <ul> ? ? ? ? ? <li v-for="(v,i) in lists" :key="i"> ? ? ? ? ? ? <router-link :to="{path:v.path}">{{v.meta.title}}</router-link> ? ? ? ? ? ? <span v-if="i<lists.length-1">/</span> ? ? ? ? ? </li> ? ? ? ? </ul> ? ? ? </div> </template> <script> export default { ? name: 'Home', ? data(){ ? ? return { ? ? ? lists:[] ? ? } ? }, ? //監(jiān)聽路由變化 ? watch:{ ? ? $route(to,from){ ? ? ? let matched = to.matched; ? //this.$route.matched ? ? ? //這個(gè)地方是為了固定第一級(jí)目錄是首頁不變 ? ? ? if(matched.length && matched[0].name!=="home"){ ? ? ? ? matched = [{ path: '/home',name: 'home',meta:{title:'首頁'}},...matched]; ? ? ? } ? ? ? ...數(shù)組名 是一種追加數(shù)組的方法 ? ? ? var arr = [1,2,3] ? ? ? var arr1 = [4,5] ? ? ? var arr2 = [2,...arr1] == [2,4,5] ? ? ? // ? ? ? this.lists = matched; ? ? } ? } } </script>
配置路由文件:
router/index.js
{ ? ? path: '/list', ? ? name: 'list', ? ? meta:{title:'列表展示'}, ? ? component: () => import('../views/list/index.vue'), ? ? children:[{ ? ? ?//二級(jí)路由 ? ? ? ? ? //path:'testA', ? ? ? ? ? ? ? path:'/list/testA', ? ? ? ? ? ? name:'testA', ? ? ? ? ? meta:{title:'子列表A'}, ? ? ? ? ? component: () => import('../views/list/part1.vue') ? ? ? ? }, ? ? ? ? { ? ? ? ? ? path:'testB', ?? ? ? ? ? ? name:'testB', ? ? ? ? ? meta:{title:'子列表B'}, ? ? ? ? ? component: () => import('../views/list/part2.vue') ? ? }] ? },
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue+elementUI動(dòng)態(tài)生成面包屑導(dǎo)航教程
- Vue動(dòng)態(tài)面包屑功能的實(shí)現(xiàn)方法
- vue動(dòng)態(tài)路由實(shí)現(xiàn)多級(jí)嵌套面包屑的思路與方法
- vue2.0 elementUI制作面包屑導(dǎo)航欄
- VUE+elementui面包屑實(shí)現(xiàn)動(dòng)態(tài)路由詳解
- vue element-ui實(shí)現(xiàn)動(dòng)態(tài)面包屑導(dǎo)航
- vue中的面包屑導(dǎo)航組件實(shí)例代碼
- Vue 解決多級(jí)動(dòng)態(tài)面包屑導(dǎo)航的問題
- Vuex,iView UI面包屑導(dǎo)航使用擴(kuò)展詳解
- vue 封裝面包屑組件教程
相關(guān)文章
Vue中對(duì)數(shù)組和對(duì)象進(jìn)行遍歷和修改方式
這篇文章主要介紹了Vue中對(duì)數(shù)組和對(duì)象進(jìn)行遍歷和修改方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08解決vue router使用 history 模式刷新后404問題
這篇文章主要介紹了解決vue router使用 history 模式刷新后404問題,需要的朋友可以參考下2017-07-07解決Vue使用bus總線時(shí),第一次路由跳轉(zhuǎn)時(shí)數(shù)據(jù)沒成功傳遞問題
這篇文章主要介紹了解決Vue使用bus總線時(shí),第一次路由跳轉(zhuǎn)時(shí)數(shù)據(jù)沒成功傳遞問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07關(guān)于iview按需引用后使用this.$Modal報(bào)錯(cuò)的解決
這篇文章主要介紹了關(guān)于iview按需引用后使用this.$Modal報(bào)錯(cuò)的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09