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 相关文章推荐
多广告投放代码 推荐
Nov 13 Javascript
jquery div拖动效果示例代码
Dec 08 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
Jun 05 Javascript
基于jquery实现全屏滚动效果
Nov 26 Javascript
JS获取屏幕高度的简单实现代码
May 24 Javascript
JavaScript的instanceof运算符学习教程
Jun 08 Javascript
Angular浏览器插件Batarang介绍及使用
Feb 07 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
Apr 20 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
Nov 25 Javascript
js模拟实现烟花特效
Mar 10 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
Mar 17 Javascript
js+canvas实现画板功能
Sep 13 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 float不四舍五入截取浮点型字符串方法总结
2013/10/28 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
php绘制一条弧线的方法
2015/01/24 PHP
laravel容器延迟加载以及auth扩展详解
2015/03/02 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
2019/10/04 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
ext 代码生成器
2009/08/07 Javascript
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
返回页面顶部top按钮通过锚点实现(自写)
2013/08/30 Javascript
jquery插件NProgress.js制作网页加载进度条
2015/06/05 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
你不知道的SpringBoot与Vue部署解决方案
2020/11/09 Javascript
PyQt5每天必学之拖放事件
2020/08/27 Python
python检测IP地址变化并触发事件
2018/12/26 Python
强悍的Python读取大文件的解决方案
2019/02/16 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
Jacobi迭代算法的Python实现详解
2019/06/29 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
2020/05/08 Python
Python接口测试文件上传实例解析
2020/05/22 Python
安全资料员岗位职责
2013/12/14 职场文书
考试不及格检讨书
2014/01/09 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
使用Pytorch实现two-head(多输出)模型的操作
2021/05/28 Python
使用Pytorch训练two-head网络的操作
2021/05/28 Python
python常见的占位符总结及用法
2021/07/02 Python