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 相关文章推荐
百度地图api应用标注地理位置信息(js版)
Feb 01 Javascript
你可能不知道的JavaScript的new Function()方法
Apr 17 Javascript
JS获取文件大小方法小结
Dec 08 Javascript
基于javascript实现checkbox复选框实例代码
Jan 28 Javascript
JavaScript lodash常见用法系列小结
Aug 24 Javascript
JavaScript无缝滚动效果的实例代码
Mar 27 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 jQuery
bootstrap动态调用select下拉框的实例代码
Aug 09 Javascript
AngularJS与后端php的数据交互方法
Aug 13 Javascript
React 项目迁移 Webpack Babel7的实现
Sep 12 Javascript
Electron-vue开发的客户端支付收款工具的实现
May 24 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
Jul 06 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
smarty+adodb+部分自定义类的php开发模式
2006/12/31 PHP
说明的比较细的php 正则学习实例
2008/07/30 PHP
一些 PHP 管理系统程序中的后门
2009/08/05 PHP
php str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
PHP 字符串正则替换函数preg_replace使用说明
2011/07/15 PHP
PHP数组实例详解
2016/06/26 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
JavaScript脚本语言在网页中的简单应用
2007/05/13 Javascript
Jquery Select操作方法集合脚本之家特别版
2010/05/17 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
2014/01/11 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
typescript编写微信小程序创建项目的方法
2021/01/29 Javascript
Python列表计数及插入实例
2014/12/17 Python
详解Python中的各种函数的使用
2015/05/24 Python
在win和Linux系统中python命令行运行的不同
2016/07/03 Python
分享python数据统计的一些小技巧
2016/07/21 Python
python+django快速实现文件上传
2016/10/24 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
python 协程中的迭代器,生成器原理及应用实例详解
2019/10/28 Python
MAC Cosmetics官方网站:魅可专业艺术彩妆
2019/04/10 全球购物
成人教育自我鉴定
2013/11/01 职场文书
校园摄影活动策划方案
2014/02/05 职场文书
新店开张活动方案
2014/08/24 职场文书
社区国庆节活动总结
2015/03/23 职场文书
2015年数学教研组工作总结
2015/05/23 职场文书
防震减灾主题班会
2015/08/14 职场文书
学风建设主题班会
2015/08/17 职场文书
小学体育跳绳课教学反思
2016/02/16 职场文书
《时代广场的蟋蟀》读后感:真挚友情,温暖世界!
2020/01/08 职场文书
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL