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 onmouseout 解决办法
Jul 17 Javascript
js返回上一页并刷新代码整理
Dec 21 Javascript
JavaScript中json对象和string对象之间相互转化
Dec 26 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
Apr 07 Javascript
jQuery常用且重要方法汇总
Jul 13 Javascript
javascript计时器编写过程与实现方法
Feb 29 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
Dec 28 Javascript
Vuejs实现带样式的单文件组件新方法
May 02 Javascript
小程序实现悬浮搜索框
Jul 12 Javascript
vue 集成jTopo 处理方法
Aug 07 Javascript
vue多个元素的样式选择器问题
Nov 29 Javascript
Vue获取页面元素的相对位置的方法示例
Feb 05 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
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
php adodb连接不同数据库
2009/03/19 PHP
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
非常实用的php弹出错误警告函数扩展性强
2014/01/17 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
PHP加密解密类实例代码
2016/07/20 PHP
PHP PDOStatement::fetchColumn讲解
2019/01/31 PHP
javascript基础的动画教程,直观易懂
2007/01/10 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
基于JavaScript实现快速转换文本语言(繁体中文和简体中文)
2016/03/07 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
深入理解 JavaScript 中的 JSON
2017/04/06 Javascript
3分钟掌握常用的JS操作JSON方法总结
2017/04/25 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
Openlayers3实现车辆轨迹回放功能
2020/09/29 Javascript
vscode 远程调试python的方法
2017/12/01 Python
python实现教务管理系统
2018/03/12 Python
Python绘制二维曲线的日常应用详解
2019/12/04 Python
python实现IOU计算案例
2020/04/12 Python
如何利用python发送邮件
2020/09/26 Python
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
鞋类设计与工艺专业销售求职信
2013/11/01 职场文书
家长学校工作方案
2014/05/07 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
七年级上册语文教学计划
2015/01/22 职场文书
交通事故责任认定书
2015/08/06 职场文书
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android