电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

vue 使用localstorage實現(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) { //當前頁刷新,使用緩存數(shù)據(jù) routes = JSON.parse(localStorageList as any); } //遍歷是否有存入當前路由位置 for (let i = 0; i < routes.length; i++) { isFind = routes[i][’name’] == val[’name’]; if (isFind) {findeIdex = i;break; } }; if (isFind) { //有的話,清除當前路由以后的數(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’ };

知識點:

1、localstorage

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

補充知識:vue+elementUI動態(tài)生成面包屑導航

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

項目需要動態(tài)生成面包屑導航,并且首頁可以點擊.其余為路徑顯示

<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ù)項目需要做了修改,搬運的時候根據(jù)項目自己改改

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的組件導航菜單的中的@select方法,有兩個參數(shù),可以自行打印

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

然后在computed中計算當前選中的是哪一部分,取到返回值,然后$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實現(xiàn)面包屑的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 分类168信息网 - 分类信息网 免费发布与查询 | 【同风运车官网】一站式汽车托运服务平台,验车满意再付款 | 贝朗斯动力商城(BRCPOWER.COM) - 买叉车蓄电池上贝朗斯商城,价格更超值,品质有保障! | 标准光源箱|对色灯箱|色差仪|光泽度仪|涂层测厚仪_HRC大品牌生产厂家 | 电缆故障测试仪_电缆故障定位仪_探测仪_检测仪器_陕西意联电气厂家 | 圆形振动筛_圆筛_旋振筛_三次元振动筛-河南新乡德诚生产厂家 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | TPU薄膜_TPU薄膜生产厂家_TPU热熔胶膜厂家定制_鑫亘环保科技(深圳)有限公司 | 工业插头-工业插头插座【厂家】-温州罗曼电气 | 苏商学院官网 - 江苏地区唯一一家企业家自办的前瞻型、实操型商学院 | 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | 紫外线老化试验箱_uv紫外线老化试验箱价格|型号|厂家-正航仪器设备 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 深圳侦探联系方式_深圳小三调查取证公司_深圳小三分离机构 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商 | 净化车间装修_合肥厂房无尘室设计_合肥工厂洁净工程装修公司-安徽盛世和居装饰 | 山东成考网-山东成人高考网 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | 德国进口电锅炉_商用电热水器_壁挂炉_电采暖器_电热锅炉[德国宝] | 标准品网_标准品信息网_【中检计量】 | 代写标书-专业代做标书-商业计划书代写「深圳卓越创兴公司」 | 淄博不锈钢,淄博不锈钢管,淄博不锈钢板-山东振远合金科技有限公司 | 打孔器,打孔钳厂家【温州新星德牌五金工具】 | 重庆LED显示屏_显示屏安装公司_重庆LED显示屏批发-彩光科技公司 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 盘装氧量分析仪-防爆壁挂氧化锆分析仪-安徽吉帆仪表有限公司 | 都江堰招聘网-都江堰人才网 都江堰人事人才网 都江堰人才招聘网 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 机械加工_绞车配件_立式离心机_减速机-洛阳三永机械厂 | 泥沙分离_泥沙分离设备_泥砂分离机_洛阳隆中重工机械有限公司 | 超声波焊接机_超音波熔接机_超声波塑焊机十大品牌_塑料超声波焊接设备厂家 | elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 碳纤维布-植筋胶-灌缝胶-固特嘉加固材料公司 | 暴风影音| 礼堂椅厂家|佛山市艺典家具有限公司| 捷码低代码平台 - 3D数字孪生_大数据可视化开发平台「免费体验」 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | 自动化展_机器人展_机床展_工业互联网展_广东佛山工博会 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 铝合金风口-玻璃钢轴流风机-玻璃钢屋顶风机-德州东润空调设备有限公司 | 混合反应量热仪-高温高压量热仪-微机差热分析仪DTA|凯璞百科 | 数字展示在线_数字展示行业门户网站|