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 Select操作大集合
May 26 Javascript
ajax 同步请求和异步请求的差异分析
Jul 04 Javascript
javascript setTimeout和setInterval计时的区别详解
Jun 21 Javascript
原生javascript实现拖动元素示例代码
Sep 01 Javascript
jQuery中unwrap()方法用法实例
Jan 16 Javascript
js实现上传图片预览的方法
Feb 09 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
Oct 30 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
Mar 23 Javascript
jQuery进阶实践之利用最优雅的方式如何写ajax请求
Dec 20 jQuery
jQuery实现弹幕特效
Nov 29 jQuery
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
Jul 31 Javascript
vue.js 使用原生js实现轮播图
Apr 26 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
div li的多行多列 无刷新分页示例代码
2013/10/16 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
javascript 写类方式之二
2009/07/05 Javascript
js Date概念详细介绍
2013/11/22 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
详解AngularJS1.x学习directive 中‘&amp; ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
layui 设置table 行的高度方法
2018/08/17 Javascript
node.js中express模块创建服务器和http模块客户端发请求
2019/03/06 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
2019/05/20 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
vue实现分页加载效果
2019/12/24 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
[07:27]DOTA2卡尔工作室 英雄介绍水晶室女篇
2013/06/21 DOTA
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
python去除文件中重复的行实例
2018/06/29 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
pyinstaller打包找不到文件的问题解决
2020/04/15 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
2020/07/03 Python
聊聊python中的循环遍历
2020/09/07 Python
Python 解析xml文件的示例
2020/09/29 Python
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
发现世界上最好的珠宝设计师:JewelStreet
2017/12/17 全球购物
2014年大班元旦活动方案
2014/02/26 职场文书
2014旅游局领导班子四风问题对照检查材料思想汇报
2014/09/19 职场文书
师德师风事迹材料
2014/12/20 职场文书
违纪检讨书
2015/01/27 职场文书
2016高考寄语或鼓励的话语
2015/12/04 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
python 爬取天气网卫星图片
2021/06/07 Python
Vue组件更新数据v-model不生效的解决
2022/04/02 Vue.js