Vue基于localStorage存储信息代码实例


Posted in Javascript onNovember 16, 2020

一 什么是localStorage

对浏览器来说,使用 Web Storage 存储键值对比存储 Cookie 方式更直观,而且容量更大,它包含两种:localStorage 和 sessionStorage

sessionStorage(临时存储) :为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载

localStorage(长期存储) :与 sessionStorage 一样,但是浏览器关闭后,数据依然会一直存在

所以上次使用cookie的时候就遇到了一个坑,设置后马上访问session会获取不到,蛋疼,还需要刷新一下,原因是:

当我们首次访问设置Cookie的页面时,服务器会把设置的Cookie值通过响应头发送过来,告诉浏览器将cookie存储的本地相应文件夹中(注意:第一次访问时本地还没有存储Cookie,所以此时获取不到值);

当第二次访问(或在进行cookie设置后,过期前所有的访问)时,请求头信息你中都会把Cookie值携带。(百度到的,暂时还没理解透彻,先搬过来).二 使用方法

注意:sessionStorage 和 localStorage 的用法基本一致,引用类型的值要转换成JSON,所以这里就只列举localStorage

1 保存

//对象
const info = { name: 'hou', age: 24, id: '001' };
//字符串
const str="haha";
localStorage.setItem('hou', JSON.stringify(info));
localStorage.setItem('zheng', str);

2 获取

var data1 = JSON.parse(localStorage.getItem('hou'));
var data2 = localStorage.getItem('zheng'); 

3 删除

//删除某个
localStorage.removeItem('hou');
//删除所有
localStorage.clear();

4 监听

Storage 发生变化(增加、更新、删除)时的 触发,同一个页面发生的改变不会触发,只会监听同一域名下其他页面改变 Storage
window.addEventListener('storage', function (e) {
console.log('key', e.key); console.log('oldValue', e.oldValue);

console.log('newValue', e.newValue); console.log('url', e.url);
})

5浏览器中查看

Vue基于localStorage存储信息代码实例6

vue中实践

根据我的需求来的一个默认记住上次选择的,很简单

添加数据的时候,下次添加默认记住我上次的选择

所以,在添加或者提交的时候存储值即可,

localStorage.setItem('projectId',me.workhourData.projectId+","+me.workhourData.projectManager);在打开新建页面的时候获取一下就好了,只需要判断非空就行

//记住上次选中的审核人
      if(localStorage.length>0){
        var mydata = localStorage.getItem('projectId');
        if(mydata!=null){
          var arr3=mydata.split(",");
          if(arr3[0]==me.workhourData.projectId){
            me.workhourData.projectManager=arr3[1];
          }
        }
      }

7 注意点

  • localStorage有效期是永久的。一般的浏览器能存储的是5MB左右。sessionStorage api与localStorage相同。
  • sessionStorage默认的有效期是浏览器的会话时间(也就是说标签页关闭后就消失了)。
  • localStorage作用域是协议、主机名、端口。(理论上,不人为的删除,一直存在设备中)
  • sessionStorage作用域是窗口、协议、主机名、端口。

知道了这些知识点后,你的问题就很好解决了。
localStorage是window上的。所以不需要写this.localStorage,vue中如果写this,是指vue实例。会报错

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery 将元素显示在屏幕的中央的代码
Feb 27 Javascript
Jquery+JSon 无刷新分页实现代码
Apr 01 Javascript
通过jQuery源码学习javascript(一)
Dec 27 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
Sep 06 Javascript
JavaScript获取IP获取的是IPV6 如何校验
Jun 12 Javascript
jQuery获取剪贴板内容的方法
Jun 16 Javascript
微信小程序 教程之wxapp视图容器 swiper
Oct 19 Javascript
js实现5秒倒计时重新发送短信功能
Feb 05 Javascript
菊花转动的jquery加载动画效果
Aug 19 jQuery
js prototype和__proto__的关系是什么
Aug 23 Javascript
详解vue 中 scoped 样式作用域的规则
Sep 14 Javascript
vue mvvm数据响应实现
Nov 11 Javascript
微信小程序自定义底部弹出框动画
Nov 18 #Javascript
vue 封装面包屑组件教程
Nov 16 #Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
Nov 16 #Javascript
小程序实现密码输入框
Nov 16 #Javascript
vue 使用localstorage实现面包屑的操作
Nov 16 #Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
Nov 16 #Javascript
Vue中使用JsonView来展示Json树的实例代码
Nov 16 #Javascript
You might like
火影忍者:三大瞳力之一的白眼,为什么没有写轮眼那么出色?
2020/03/02 日漫
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
jQuery live
2009/05/15 Javascript
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
禁止按回车键提交表单的方法
2015/06/11 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
全面了解JavaScript的数据类型转换
2016/07/01 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
jQuery实现可拖拽的许愿墙效果【附demo源码下载】
2016/09/14 Javascript
NodeJS实现图片上传代码(Express)
2017/06/30 NodeJs
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
2018/07/13 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
vue实现五子棋游戏
2020/05/28 Javascript
简单介绍Python的Django框架的dj-scaffold项目
2015/05/30 Python
谈谈如何手动释放Python的内存
2016/12/17 Python
解决python图像处理图像赋值后变为白色的问题
2020/06/04 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
prAna官网:瑜伽、旅行和冒险服装
2019/03/10 全球购物
自荐信格式技巧有哪些呢
2013/11/19 职场文书
导游词300字
2015/02/13 职场文书
研究生导师推荐信
2015/03/25 职场文书
考博导师推荐信范文
2015/03/27 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
Python基础之字符串格式化详解
2021/04/21 Python
ORACLE查看当前账号的相关信息
2021/06/18 Oracle
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript