vue 使用localstorage实现面包屑

Posted qiufang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 使用localstorage实现面包屑相关的知识,希望对你有一定的参考价值。

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) {
            //当前页刷新,使用缓存数据
            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) {
            //有的话,清除当前路由以后的数据
            routes.splice(findeIdex + 1, routes.length - findeIdex - 1);
            //修改缓存
            localStorage.setItem(routeList, JSON.stringify(routes));
        } else {
            //存入全局变量
            routes.push(val);
            //设置缓存
            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 值转换为 JSON 字符串,JSON.parse()将JSON字符串转为一个对象

 

以上是关于vue 使用localstorage实现面包屑的主要内容,如果未能解决你的问题,请参考以下文章

vue前端根据后台返回的数据实现动态面包屑(使用递归)

vue前端根据后台返回的数据实现动态面包屑(使用递归)

vue 2.0 + elementUI 实现面包屑导航栏

vue项目中手动封装面包屑导航

Vue3element ui plus面包屑与vue-route结合使用

在按钮单击时进行变量更改,但最初在 vue 中使用 localStorage 设置