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中暂停功能的实现代码
Mar 04 Javascript
jquery表单验证使用插件formValidator
Nov 10 Javascript
jquery struts 验证唯一标识(公用方法)
Mar 27 Javascript
JavaScript如何自定义trim方法
Jul 28 Javascript
javascript从作用域链谈闭包
Jul 29 Javascript
JavaScript设计模式经典之工厂模式
Feb 24 Javascript
Avalonjs 实现简单购物车功能(实例代码)
Feb 07 Javascript
js,jq,css多方面实现简易下拉菜单功能
May 13 Javascript
JavaScript与Java正则表达式写法的区别介绍
Aug 15 Javascript
JS原生带缩略图的图片切换效果
Oct 10 Javascript
createObjectURL方法实现本地图片预览
Sep 30 Javascript
详解JavaScript中的执行上下文及调用堆栈
Apr 29 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
php实现建立多层级目录的方法
2014/07/19 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
让JavaScript中setTimeout支持链式操作的方法
2015/06/19 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
jQuery.form.js的使用详解
2017/06/14 jQuery
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
vue导入.md文件的步骤(markdown转HTML)
2020/12/31 Vue.js
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
python解决字典中的值是列表问题的方法
2013/03/04 Python
python实现博客文章爬虫示例
2014/02/26 Python
python学习 流程控制语句详解
2016/06/01 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
用scikit-learn和pandas学习线性回归的方法
2019/06/21 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
Python super()方法原理详解
2020/03/31 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
会走动的图形html5时钟示例
2014/04/27 HTML / CSS
国贸专业个人求职信分享
2013/12/04 职场文书
毕业自我鉴定怎么写
2014/03/25 职场文书
大学新学期计划书
2014/04/28 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
年终工作总结范文2014
2014/11/27 职场文书
2016年寒假社会实践活动总结
2015/03/27 职场文书
用Python简陋模拟n阶魔方
2021/04/17 Python
新手必备Python开发环境搭建教程
2021/05/28 Python
关于MySQL临时表为什么可以重名的问题
2022/03/22 MySQL