vue的localStorage本地缓存和sessionStorage临时缓存

vue的localStorage本地缓存

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>localStorage</title>
</head>

<body>
    <h1>localStorage</h1>
    <button onclick="fun()">点击我存储一个数据</button><br>
    <button onclick="disPlay()">点击我查看一个存储信息</button>
    <button onclick="selete()">点击我删除一个存储的信息</button>
    <script>
        let a = { name: "勇敢", mes: 123 }
        function fun() {
            window.localStorage.setItem('message', '勇敢牛牛');
            //对象解析Wie字符串
            window.localStorage.setItem('message_2', JSON.stringify(a))
        }
        function disPlay() {
            console.log(window.localStorage.getItem('message'));
            var result = window.localStorage.getItem('message_2');
			//将一个字符串解析为对象
            console.log(JSON.parse(result));
        }
        function selete() {
            window.localStorage.removeItem('message');
        }
    </script>
</body>

</html>

sessionStorage临时缓存

缓存的数据跟随浏览器的页面关闭而清空。

总结

webStorage和sessionStorage

  1. 存储内容大小一般支持5MB左右(不同浏览器可能还不一样)

  2. 浏览器端通过 Window.sessionStorage 和 Window.localStorage 属性来实现本地存储机制。

  3. 相关API:

    1. xxxxxStorage.setItem('key', 'value');
      该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新其对应的值。

    2. xxxxxStorage.getItem('person');

      ​ 该方法接受一个键名作为参数,返回键名对应的值。

    3. xxxxxStorage.removeItem('key');

      ​ 该方法接受一个键名作为参数,并把该键名从存储中删除。

    4. xxxxxStorage.clear()

      ​ 该方法会清空存储中的所有数据。

  4. 备注:

    1. SessionStorage存储的内容会随着浏览器窗口关闭而消失。
    2. LocalStorage存储的内容,需要手动清除才会消失。
    3. xxxxxStorage.getItem(xxx)如果xxx对应的value获取不到,那么getItem的返回值是null。
    4. JSON.parse(null)的结果依然是null。
      在这里插入图片描述
      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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勇敢*牛牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值