在vue中用localstorage将数据存到本地

摘要:
将值存储在key字段data()中{return{city_list:避免每次刷新时都向后台发送请求。//加载装载的生命周期时,将值存储到localvarstorage=localStorage.getItem(“city_list”);if(storage){this.city_list=JSON.parse(this.cite_list);

什么是localStorage

在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。

localStorage的优势

1、localStorage拓展了cookie的4K限制
2、localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库,相比于cookie可以节约带宽,但是这个却是只有在高版本的浏览器中才支持的
3、localStorage与sessionStorage的唯一一点区别就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空

localStorage的使用

localStorage.getItem(key):获取指定key本地存储的值
localStorage.setItem(key,value):将value存储到key字段

data() {
    return {
      city_list: [],
    };
  },
mounted() {
    //把后台数据存储到本地,避免每次刷新向后台发出请求
    //mounted生命周期加载时存储到本地
    var storage = localStorage.getItem("city_list");
    if (storage) {
      this.city_list = JSON.parse(this.city_list);
      console.log(this.city_list);
    } else {
      axios.get("/city.php").then((res) => {
        var status = res.statusText;
        if (status == "OK") {
          this.city_list = res.data.city;
          // ajax拿到后台数据将json字符串数据存到city_list中,因为拿数据时只能接受字符串
// 使用setitem将json字符串存储到key值city_list中 window.localStorage.setItem( "city_list ", JSON.stringify(this.city_list) ); } }); } }
    var storage = localStorage.getItem("city_list");
    if (storage) {
      this.city_list = JSON.parse(this.city_list);
      console.log(this.city_list);
    } else {
      axios.get("/city.php").then((res=> {
        Indicator.close();
        var status = res.statusText;
        if (status == "OK") {
          console.log(res);
          this.city_list = res.data.city;
          // ajax拿到后台数据将json字符串数据存到city_list中,因为拿数据时只能接受字符串
          window.localStorage.setItem(
            "city_list ",
            JSON.stringify(this.city_list)
          );
        }
      });
    }

免责声明:文章转载自《在vue中用localstorage将数据存到本地》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇.NET微信公众号开发-5.0微信支付ASP.NET偷懒大法三 (利用Attribute特性简化多查询条件拼接sql语句的麻烦)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ADODB——RecordSet对象

转自网友,看着挺全就转了,供大家学习研究。 Recordset 对象的属性1、CursorType 属性 AdOpenForwardOnly: 仅向前游标,默认值。除了只能在记录中向前滚动外,与静态游标相同。当只需要在记录集中单向移动时,使用它可提高性能。(顾名思义,这种游标只能向前移动。然而,由于这种游标功能有限,将它用于系统资源时是非常有效的。) Ad...

Android数据库相关整理

今天对Android中数据库相关的操作和代码做了一个整理,便于自己之后的查阅。主要内容有: 1.原生数据库写法 2.终端进sqlite的操作 3.第三方库 4.事务处理 5.权限和路径 一、原生数据库写法一般要先继承自SQLiteOpenHelper写一个Helper。 public class DatabaseHelper extends SQLiteO...

【翻译】ASP.NET缓存管理

看到一篇好文章,翻译一下给大家分享。 原文地址:http://www.codeproject.com/Articles/12097/Cache-Management-in-ASP-NET 引言 在解释ASP.NET中的缓存管理之前,我先澄清一下,不同的人使用不同的术语来解释同样的概念,有些人把它描述为状态管理,有些人描述为缓存管理。我喜欢用缓存管理,或许是...

使用TSQL的Rand函数生成随机数的艰苦历程

在上一篇《大量数据插入的几种方式的速度比较》里,有一列数据是用Rank函数来生产的,用来造假数据。 现在的问题是,如果要更新这一列的值,怎么办呢?也许全部删除,重新插入一遍就可以。但是太慢了。于是随手就写出了下面的代码。   Update aTable Set aColumn = @MaxInt *RAND()   结果完全出乎意料,这一列的值全是一样的!...

An error occurred while attempting to initialize the Borland Database Engine (error $2108)

转载:http://hi.baidu.com/hbxjzlq/blog/item/592c6bae9e39fefdfbed5008.html BDE初始化失败 解决方法:重新安装BDE BDE简介. 要开发数据库应用程序首先要解决数据源的问题,那么什么是数据源呢?简单来讲数据源就是实实在在的数据,通常是各种数据表。 有了数据源我们就有了开发程序的依据,然而...

串行通信协议 —— UART

UART —— Universal Asynchronous Receiver/Transmitter —— 通用异步收发器  一、UART简介 (强烈推荐一篇详细介绍UART的博客:https://www.cnblogs.com/mylinux/p/4078576.html) UART是异步串口通信协议, 工作原理是将传输数据的每个字符一位接一位地传输,...