Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现


Posted in Javascript onSeptember 04, 2020

今天我们使用本地缓存localStorage来实现页面刷新了,验证码倒计时还是和刷新时一样,而不是清零,其次我们可以使用localStorage去实现用户信息缓存,记住密码等等关于缓存的功能,在这里就简单演示一下验证码功能。

一、功能实现

话不多说,直接上代码

<template>
	<button @click="getCode()" :disabled="!show">
  <span v-show="show">发送验证码</span>
  <span v-show="!show" class="count">{{count}} s</span>
 </button>
</template>
<script>
 let TIME_COUNT = 60; // 设置一个全局的倒计时的时间
 export default {
 data() {
  return {
   show: true,
   count: '',
   timer: null,
  }
 },
 components: {
  marquee
 },
 created(){
   // 进入页面时获取倒计时中止的位置,并继续计时
   if (localStorage.regtime > 0 && localStorage.regtime <= TIME_COUNT){
    TIME_COUNT = localStorage.regtime;
    this.count = TIME_COUNT;
    this.show = false;
    this.timer = setInterval(() => {
     if (this.count > 0 && this.count <= TIME_COUNT) {
      this.count--
      localStorage.regtime = this.count;
     } else {
      this.show = true;
      clearInterval(this.timer);
      this.timer = null
     }
    }, 1000)
   }
 },
 methods: {
  getCode () {
   // 验证码倒计时
   if (!this.timer) {
    this.count = TIME_COUNT
    localStorage.regtime = this.count;
    this.show = false
    this.timer = setInterval(() => {
    if (this.count > 0 && this.count <= TIME_COUNT) {
     this.count--
     localStorage.regtime = this.count;
    } else {
     this.show = true
     clearInterval(this.timer)
     this.timer = null
    }
   }, 1000)
  }
 }
 }
</script>

二、知识拓展

1.对比cookies,sessionStorage 和 localStorage 三大缓存的主要区别

1)存储大小

  • cookie数据大小不能超过4k。
  • sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。

2)有效时间

  • localStorage:存储持久数据,浏览器关闭后数据不丢失除非主动删除数据;
  • sessionStorage:数据在当前浏览器窗口关闭后自动删除。
  • cookie:设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭,

3)数据与服务器之间的交互方式

  • cookie的数据会自动的传递到服务器,服务器端也可以写cookie到客户端。
  • sessionStorage仅在本地保存,只能在同一标签下共享。
  • localStorage仅在本地保存,同一浏览器,标签页全部共享。

4)适合场景使用

  • localStorage:适合用于用户离开不清除的数据,如记住密码。
  • sessionStorage:适合用于做一些用户离开时及清除的数据,如用户信息。
  • cookie:适合用于和服务器交互的数据,如用户发起请求的唯一凭证。

当然只是说谁更适合,存在即合理,别和我杠。

2.localStorage写法

localStorage.getItem("code")//或localStorage.code或localStorage["code"],获取code
localStorage.setItem("code","A")//或localStorage.code="A"或localStorage["code"]="A",存储code
localStorage.removeItem("code")//存储的持久数据不清除是不会丢失的,清除code
localStorage.clear(); //清除本地全部localStorage缓存

总结

到此这篇关于Vue利用localStorage本地缓存使页面刷新验证码不清零的文章就介绍到这了,更多相关Vue页面刷新验证码不清零内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript 继承详解(二)
Jul 13 Javascript
非阻塞动态加载javascript广告实现代码
Nov 17 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
Oct 24 Javascript
window.open 以post方式传递参数示例代码
Feb 27 Javascript
javascript学习笔记(六)数据类型和JSON格式
Oct 08 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
Sep 21 Javascript
学习JavaScript设计模式之中介者模式
Jan 14 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
Oct 09 Javascript
ES6中数组array新增方法实例总结
Nov 07 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
Dec 19 Javascript
node删除、复制文件或文件夹示例代码
Aug 13 Javascript
使用JS实现简易计算器
Jun 14 Javascript
vue-cli3中配置alias和打包加hash值操作
Sep 04 #Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
Sep 04 #Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
Sep 04 #Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
Sep 04 #Javascript
在vue中axios设置timeout超时的操作
Sep 04 #Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
Sep 04 #Javascript
JavaScript中的执行环境和作用域链
Sep 04 #Javascript
You might like
三国漫画《火凤燎原》宣布动画化PV放出 预计2020年播出
2020/03/08 国漫
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
简单的自定义php模板引擎
2016/08/26 PHP
php实现微信扫码支付
2017/03/26 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
JS获取父节点方法
2009/08/20 Javascript
JavaScript中常见陷阱小结
2010/04/27 Javascript
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
关于img的href和src取变量及赋值的方法
2014/04/28 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
举例讲解AngularJS中的模块
2015/06/17 Javascript
Jquery中attr与prop的区别详解
2017/05/27 jQuery
react+redux仿微信聊天界面
2019/06/21 Javascript
关于NodeJS中的循环引用详解
2019/07/23 NodeJs
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
Linux下升级安装python3.8并配置pip及yum的教程
2020/01/02 Python
TensorFlow设置日志级别的几种方式小结
2020/02/04 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
请说出几个常用的异常类
2013/01/08 面试题
高中生校园生活自我评价
2013/09/19 职场文书
机电工程学生自荐信范文
2013/12/07 职场文书
重阳节登山活动方案
2014/02/03 职场文书
烹调加工管理制度
2014/02/04 职场文书
升国旗仪式主持词
2014/03/19 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
同学会邀请函模板
2015/01/30 职场文书
民警忠诚教育心得体会
2016/01/23 职场文书
pytorch fine-tune 预训练的模型操作
2021/06/03 Python
详解Python如何批量采集京东商品数据流程
2022/01/22 Python