午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

vue 使用localstorage實(shí)現(xiàn)面包屑的操作

瀏覽:20日期:2022-10-27 15:49:48

mutation.js代碼:

changeRoute(state, val) { let routeList = state.routeList; let isFind = false; let findeIdex = 0; //菜單欄和下拉的二級菜單 if (val[’type’] == ’header’ || val[’type’] == ’secondHeader’) { routeList.length = 0; //頂級菜單清除緩存 localStorage.removeItem('routeList'); } let routes = routeList; let localStorageList = localStorage.getItem(’routeList’); if (localStorageList) { //當(dāng)前頁刷新,使用緩存數(shù)據(jù) routes = JSON.parse(localStorageList as any); } //遍歷是否有存入當(dāng)前路由位置 for (let i = 0; i < routes.length; i++) { isFind = routes[i][’name’] == val[’name’]; if (isFind) {findeIdex = i;break; } }; if (isFind) { //有的話,清除當(dāng)前路由以后的數(shù)據(jù) routes.splice(findeIdex + 1, routes.length - findeIdex - 1); //修改緩存 localStorage.setItem(’routeList’, JSON.stringify(routes)); } else { //存入全局變量 routes.push(val); //設(shè)置緩存 localStorage.setItem(’routeList’, JSON.stringify(routes)); } }

頁面使用:

//獲取面包屑緩存 let localStorageList1 = localStorage.getItem(’routeList’); //ts寫法 as any this.routeList = JSON.parse(localStorageList1 as any) ? JSON.parse(localStorageList1 as any) : { name: ’test’, url: ’/test’ };

知識點(diǎn):

1、localstorage

2、JSON.stringify()的作用是將 JavaScript 值轉(zhuǎn)換為 JSON 字符串,JSON.parse()將JSON字符串轉(zhuǎn)為一個(gè)對象

補(bǔ)充知識:vue+elementUI動(dòng)態(tài)生成面包屑導(dǎo)航

vue 使用localstorage實(shí)現(xiàn)面包屑的操作

項(xiàng)目需要?jiǎng)討B(tài)生成面包屑導(dǎo)航,并且首頁可以點(diǎn)擊.其余為路徑顯示

<el-menu :unique-opened='true' router :default-active='$route.path' @select='handleSelect'> <div v-for='menu in menus' :key='menu.id'> <el-menu-item v-if='!menu.child' :index='menu.path'><icon :name='menu.icon' :w='20' :h='20'></icon><span slot='title' v-text='menu.name'></span> </el-menu-item> <el-submenu v-if='menu.child' :index='menu.path'><template slot='title'> <icon :name='menu.icon' :w='20' :h='20'></icon> <span slot='title' v-text='menu.name'></span></template><el-menu-item-group> <el-menu-item v-for='subMenu in menu.child' :key='subMenu.id' v-text='subMenu.name' :index='subMenu.path'></el-menu-item></el-menu-item-group> </el-submenu> </div></el-menu>

上面的代碼是elementUI組件的樣式,根據(jù)項(xiàng)目需要做了修改,搬運(yùn)的時(shí)候根據(jù)項(xiàng)目自己改改

export default { data () { return { activeMenu: ’’, indexBreadcrumbs: [], menus: [{id: ’1’,name: ’門戶管理’,icon: ’menhuguanli’,path: ’#2’,child: [{ id: ’1-1’, name: ’輪播圖’, path: ’/backstage/protaManage/turns’}, { id: ’1-2’, name: ’基礎(chǔ)數(shù)據(jù)’, path: ’/backstage/protaManage/basis’}, { id: ’1-3’, name: ’分類管理’, path: ’/backstage/protaManage/classify’}, { id: ’1-4’, name: ’內(nèi)容發(fā)布’, path: ’/backstage/protaManage/content’}] }, {id: ’2’,name: ’我的云盤’,icon: ’yunpan’,path: ’/backstage/yunManage’ }, {id: ’3’,name: ’管理菜單’,icon: ’shezhi’,path: ’/backstage/menusManage’ }, {id: ’4’,name: ’編輯板塊’,icon: ’fabuzhongxin’,path: ’/backstage/editPlate’ }] } }, watch: { $route () { this.handChange() } }, computed: { breadcrumbList () { let breadcrumbs = [] let menuList = this.menus this.indexBreadcrumbs.map(item => {for (let i = 0; i < menuList.length; i++) { if (item === menuList[i].path) { breadcrumbs.push(menuList[i]) if (menuList[i].child) { menuList = menuList[i].child } break; }} }) return breadcrumbs } }, methods: { handChange () { this.$emit(’hand-change’, this.breadcrumbList) }, handleSelect (index, indexPath) { this.indexBreadcrumbs = indexPath } }, created () { this.handChange() }}

上面的代碼是模擬的數(shù)據(jù),調(diào)用elememtUI的組件導(dǎo)航菜單的中的@select方法,有兩個(gè)參數(shù),可以自行打印

vue 使用localstorage實(shí)現(xiàn)面包屑的操作

然后在computed中計(jì)算當(dāng)前選中的是哪一部分,取到返回值,然后$emit傳給父組件,

<el-breadcrumb separator-class='el-icon-arrow-right'> <el-breadcrumb-item :to='{ path: ’/backstage’ }'>首頁</el-breadcrumb-item> <el-breadcrumb-item v-for='o in breadcrumbList' :key='o.id'>{{o.name}} </el-breadcrumb-item> </el-breadcrumb>

父組件中取到子組件傳過來的值后,直接渲染就行了

以上這篇vue 使用localstorage實(shí)現(xiàn)面包屑的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 青娱乐精品| 国产一区二区自拍视频 | 亚洲黄色影院 | 激情久久视频 | 精品久久久久久久久久久久 | 久久天堂网| 国内精品久久久久久久影视简单 | 成人免费观看视频 | 国产麻豆一级片 | 色哟哟入口国产精品 | 麻豆视频国产 | 欧美毛片视频 | 久久成人精品 | 成年人视频软件 | 亚洲国产成人久久 | 欧美我不卡 | 手机天堂av | 日韩一区二区三区精品 | 中国2018年最新最好看的字幕 | 日本一二三区在线视频 | 国产精品资源站 | 中文字幕天堂在线 | 日韩一区三区 | 亚洲成人a∨ | 一本久道久久 | 噜噜色av| 自拍偷拍亚洲视频 | 色眯眯av | 欧美视频一二三区 | 在线免费观看毛片 | 天天操天天操天天 | 林心如三级全黄裸体 | 日本另类 | 97久久久久久| av网址导航| 久久影院一区 | 亚洲欧美国产精品久久久久久久 | 丁香色综合 | 蜜臀久久久久 | 99精品在线观看 | 成人激情免费视频 |