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字符串转为一个对象

原文地址:https://www.cnblogs.com/qiufang/p/11544538.html

时间: 2024-10-09 18:02:37

vue 使用localstorage实现面包屑的相关文章

CSS实现面包屑

面包屑在用户引导方面起到很大作用,可以清晰的为用户指示出其当前所在位置,以及访问到此的整个路径如何,另一方面,面包屑也可以将较长的表单分割成一步一步完成且互动性较强的任务式表单填写.可见其在网页中的重要性.但样式美观的面包屑包含一些形状,这在CSS3以前得靠图片等其他方式实现,现在有了CSS3之后,我们可以很方便的用CSS绘制出常见的面包屑. 下面的案例中涉及了三个内容,所以将其记录于此: 1. display:inline-block的间距文题(是由于我们格式化代码时换行导致) 2. bord

css制作面包屑导航

css2制作面包屑导航主要的原理就是利用绝对定位以及当元素的宽度和高度都为零时边框的挤压性质,效果图 代码: <ul>     <li>HTML<i></i></li>     <li><em></em>CSS<i></i></li>     <li><em></em>JavaScript<i></i></li

辛星和您一起用纯CSS美化面包屑导航

首先讲一下面包屑导航为什么叫做面包屑导航,它来自于一个童话故事,这个童话故事的名字也非常有特色,叫做"汉塞尔和格莱特",有一天他们去森林里游玩,但是走着走着发现迷路了,大家都知道,森林里都都是数,不管往哪边走,还是茫茫的一片树,于是他们在沿途走过的地方都撒下面包屑,他们利用这些面包屑帮助他们走出了森林,因此,面包屑导航的意思就是说我们去过哪些地方,以及我们如何回到我们之前的位置. 有时候我们特别需要面包屑导航,比如我们在某论坛或者某网上商城闲逛的时候,很容易被茫茫的帖子和众多的商品搞的

YII 面包屑制作

什么是面包屑? 类似于这样就是 实现步骤: 1. 视图定义变量 2. 在布局通过显示 视图中代码: <?php //定义面包屑变量 $this -> breadcrumbs = array( '用户中心'=>array('user/center'), '用户登录'=>array('user/login'), ); ?> 布局中代码:通过小物件来是实现 <!-- <当前位置=---首页-----注册----> <?php if(isset($this-&

如何删除帝国cms面包屑导航中首页链接的/index.html

前面一篇"帝国cms面包屑导航的首页链接锚文本改成关键字"中xmyanke有写到改首页链接的方法,但是感觉比较麻烦,这里就说说如何删除帝国cms面包屑导航中首页链接的/index.html,我们的首页一般都是***.com/结尾的,如果Breadcrumb的中首页链接变成***.com/index.html结尾的话,会造成有两个首页,分散权重.重复收录.(当然可以把index.html 301到不带index.html) 找到e/class/connect.php,搜索$file=$p

Bootstrap面包屑导航

Bootstrap中提供了面包屑导航的实现方法: 只需要引入bootstrap.css文件即可. 主要引用的样式有: .span6 .breadcrumb 实例代码如下: <!DOCTYPE html> <html> <meta charset="utf-8"> <head> <title>bootstrap面包屑导航</title> <link rel="stylesheet" type

WordPress主题开发:制作面包屑导航

所谓面包屑,就是类似这种:首页 > 公司简介 > 发展历史 展示网站树型结构,并让网站访问者随时知道自己所处的位置,方便返回上几级. 将下面的代码添加到主题的 functions.php : //面包屑功能 function the_breadcrumb() { echo '<ul class="breadcrumb">'; if (!is_home()) { echo '<li><a href="'; echo get_option

CSS3面包屑导航

原文:http://www.helloweba.com/view-blog-347.html HTML HTML结构非常简单,一个有序列表ol,外面又<nav>包裹. 面包屑导航条的结构,我们给ol加上class样式为:.cd-breadcrumb,那么当前位置的层级li加上class样式为:.current. <nav>     <ol class="cd-breadcrumb">         <li><a href=&quo

Bootstrap中面包屑导航实例

通过重写样式breadcrumb可以更改分割的符默认是单斜杠,实例重写后是双斜杠: <style type="text/css">    .breadcrumb > li + li:before {    color: #CCCCCC;    content: "// ";    padding: 0 5px;}     </style> 代码实例: <div class="container">