Vue localStorage与sessionStorage数据缓存读取

session:存储,关闭浏览器删除

保存数据:window.sessionStorage.setItem('key',value); 
读取数据:window.sessionStorage.getItem('key'); 
删除单个数据:window.sessionStorage.removeItem('key'); 
删除所有数据:window.sessionStorage.clear(); 
得到某个索引的key:window.sessionStorage.key(index);

存一个对象到缓存中

存:sessionStorage.setItem('userinfo',JSON.stringify(datas.obj));

取:if(window.sessionStorage.getItem("userinfo")){
      let userinfo = JSON.parse(window.sessionStorage.getItem("userinfo"));
      this.username = JSON.parse(window.sessionStorage.getItem("userinfo")).username;
    }

vue本地缓存localStorage将多次添加的表单数据存为数组格式

var templist = JSON.parse(window.sessionStorage.getItem("msgBody") || "[]");
      templist.push(this.msgBody);
      localStorage.setItem("msgBody", JSON.stringify(templist));

大概思路就是先取再存,先把上次存入的一组数据取出来,将本次新增的的表单数据放入,再存。this.msgBody是我放当前表单各项数值的地方。"msgBody"是key的名字这个随意取

取得时候

 var items = JSON.parse(localStorage.getItem("msgBody"));

利用key值就拿到数组啦

local:永久存储,手动删除

保存数据:window.localStorage.setItem('key',value); 
读取数据:window.localStorage.getItem('key'); 
删除单个数据:window.localStorage.removeItem('key'); 
删除所有数据:window.localStorage.clear(); 
得到某个索引的key:window.localStorage.key(index);

localStorage

localStorage生命周期是永久,除非主动清除localStorage信息,否则这些信息将永远存在。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。

localStorage主要有以下几种方法:
setItem(“key”,“value”):存储名字为key的一个值value,如果key存在,就更新value

1、保存数据到本地
第一个参数是保存的变量名,第二个是赋给变量的值
localStorage.setItem('Author', 'local');
2、从本地存储获取数据
localStorage.getItem('Author');
3、从本地存储删除某个已保存的数据
localStorage.removeItem('Author');
4、清除所有保存的数据
localStorage.clear();

localStorage.setItem("name","john"); //设置name为john
localStorage.setItem("name","john1"); //覆盖之前的值,现在name所对应的值是john1

// 使用localStorage 注意 避免默写浏览器抛出异常
// let defaultCity = '北京'
// try {
//   if(localStorage.city){
//     defaultCity = localStorage.city
//   }
// }catch (e){}
// 使用
// city:defaultCity

JSON.stringify(); // 将json格式的数据转换成JSON格式的字符串

 var  data = {name:"john"};
      data = JSON.stringify(data);
      localStorage.setItem("data1",data);

JSON.parse(); 将json格式的字符串转换成JSON对象进行处理

var str = localStorage.getItem("data1");
var obj = JSON.parse(str);
        console.log(obj);

sessionStorage

sessionStorage仅在当前会话下有效,关闭页面或浏览器后被清除。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。

        // 1、保存数据到本地
        // 第一个参数是保存的变量名,第二个是赋给变量的值
        sessionStorage.setItem('Author', 'session');
        // 2、从本地存储获取数据
        sessionStorage.getItem('Author');
        // 3、从本地存储删除某个已保存的数据
        sessionStorage.removeItem('Author');
        // 4、清除所有保存的数据
        sessionStorage.clear();

存储数据前:利用JSON.stringify将对象转换成字符串

获取数据后:利用JSON.parse将字符串转换成对象

var user = {
      username: 'liu',
      password: '123456'
    };
    user = JSON.stringify(user);
    sessionStorage.setItem('user', user);
    var account = sessionStorage.getItem('user');
    console.log(account);
    account = JSON.parse(account)
    console.log(account);
  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值