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之Document元素选择器篇
Aug 14 Javascript
javascript中判断一个值是否在数组中并没有直接使用
Dec 17 Javascript
javascript判断chrome浏览器的方法
Mar 26 Javascript
Javascript URI 解析介绍
Mar 15 Javascript
微信小程序  checkbox组件详解及简单实例
Jan 10 Javascript
js模拟百度模糊搜索的实例
Aug 04 Javascript
Angular2 组件间通过@Input @Output通讯示例
Aug 24 Javascript
Vue组件之单向数据流的解决方法
Nov 10 Javascript
JavaScript实现秒杀时钟倒计时
Sep 29 Javascript
JS代码检查工具ESLint介绍与使用方法
Feb 04 Javascript
ES6扩展运算符和rest运算符用法实例分析
May 23 Javascript
五句话帮你轻松搞定js原型链
Dec 09 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
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
django中的ajax组件教程详解
2018/10/18 PHP
一些实用的jQuery代码片段收集
2011/07/12 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
2013/06/09 Javascript
jquery解决客户端跨域访问问题
2015/01/06 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
javascript 分号总结及详细介绍
2016/09/24 Javascript
Vue表单验证插件Vue Validator使用方法详解
2017/04/07 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
javascript全局自定义鼠标右键菜单
2020/12/08 Javascript
[00:36]DOTA2上海特级锦标赛 Archon战队宣传片
2016/03/04 DOTA
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
linux下安装python3和对应的pip环境教程详解
2019/07/01 Python
如何使用python代码操作git代码
2020/02/29 Python
Python列表切片常用操作实例解析
2020/03/10 Python
keras之权重初始化方式
2020/05/21 Python
Pycharm快捷键配置详细整理
2020/10/13 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
长青弘远的面试题
2012/06/09 面试题
人力资源专员自我评价怎么写
2013/09/19 职场文书
优秀干部获奖感言
2014/01/31 职场文书
建筑节能汇报材料
2014/08/22 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
2015年国庆节慰问信
2015/03/23 职场文书
新闻稿标题
2015/07/18 职场文书
新学期家长寄语2016
2015/12/03 职场文书
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers
nginx静态资源的服务器配置方法
2022/07/07 Servers
pytorch实现加载保存查看checkpoint文件
2022/07/15 Python