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 相关文章推荐
JSON与XML优缺点对比分析
Jul 17 Javascript
js精美的幻灯片画集特效代码分享
Aug 29 Javascript
JavaScript 不支持 indexof 该如何解决
Mar 30 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
Jul 06 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
Dec 20 Javascript
JavaScript对象引用与赋值实例详解
Mar 15 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
Sep 28 Javascript
web前端vue filter 过滤器
Jan 12 Javascript
基于vue展开收起动画的示例代码
Jul 05 Javascript
详解小程序rich-text对富文本支持方案
Nov 28 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
May 24 Javascript
Vue.Draggable实现交换位置
Apr 07 Vue.js
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
smarty模板中拼接字符串的方法
2014/02/14 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
用JavaScript显示随机图像或引用
2009/04/21 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
jQuery实现表格冻结顶栏效果
2017/08/20 jQuery
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
JavaScript实现新年倒计时效果
2018/11/17 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
Python编程中装饰器的使用示例解析
2016/06/20 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
2020/02/27 Python
python画图常规设置方式
2020/03/05 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
日本航空官方网站:JAL
2019/06/19 全球购物
信息管理专业学生自荐信格式
2013/09/22 职场文书
项目合作计划书
2014/01/09 职场文书
法制宣传日活动总结
2014/04/29 职场文书
好书伴我成长演讲稿
2014/05/14 职场文书
网站出售协议书范文
2014/10/10 职场文书
邀请函样本
2015/02/02 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL