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 相关文章推荐
JQuery 学习笔记 element属性控制
Jul 23 Javascript
类似天猫商品详情随浏览器移动的示例代码
Feb 27 Javascript
js通过iframe加载外部网页的实现代码
Apr 05 Javascript
在JavaScript中处理数组之reverse()方法的使用
Jun 09 Javascript
jQuery Mobile页面返回不需要重新get
Apr 26 Javascript
有关JavaScript中call()和apply() 的一些理解
May 20 Javascript
js删除数组中的元素delete和splice的区别详解
Feb 03 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
Jun 11 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
Sep 21 jQuery
vue中的 $slot 获取插槽的节点实例
Nov 12 Javascript
在vue中封装方法以及多处引用该方法详解
Aug 14 Javascript
JavaScript 如何在浏览器中使用摄像头
Dec 02 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 set_error_handler()函数使用详解(示例)
2013/11/12 PHP
PHP eval函数使用介绍
2013/12/08 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
详解PHP归并排序的实现
2016/10/18 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
2013/04/15 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
BootStrap实用代码片段之一
2016/03/22 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
vue+element UI实现树形表格
2020/12/29 Vue.js
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
Zabbix实现微信报警功能
2016/10/09 Python
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
如何将Pycharm中调整字体大小的方式设置为&quot;ctrl+鼠标滚轮上下滑&quot;
2020/11/17 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
外贸主管求职简历的自我评价
2013/10/23 职场文书
幼儿教育感言
2014/02/05 职场文书
会计自荐信范文
2014/03/09 职场文书
小学生期末评语大全
2014/04/21 职场文书
《画家乡》教学反思
2014/04/22 职场文书
先进个人事迹材料范文
2014/12/30 职场文书
户外亲子活动总结
2015/05/08 职场文书
工作收入证明模板
2015/06/12 职场文书
食品安全主题班会
2015/08/13 职场文书
2019年英语版感谢信(8篇)
2019/09/29 职场文书
解析laravel使用workerman用户交互、服务器交互
2021/04/28 PHP
对象析构函数__del__在Python中何时使用
2022/03/22 Python