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 相关文章推荐
学习ExtJS 访问容器对象
Oct 07 Javascript
javascript权威指南 学习笔记之javascript数据类型
Sep 24 Javascript
JS跨域代码片段
Aug 30 Javascript
js 如何实现对数据库的增删改查
Nov 23 Javascript
基于JavaScript自定义构造函数的详解说明
Apr 24 Javascript
搭建pomelo 开发环境
Jun 24 Javascript
Ajax实现不刷新取最新商品
Mar 01 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
Jan 08 Javascript
详解plotly.js 绘图库入门使用教程
Feb 23 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
Jun 19 Javascript
原生JavaScript实现随机点名表
Jan 14 Javascript
vue使用过滤器格式化日期
Jan 20 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
三国漫画《火凤燎原》宣布动画化PV放出 预计2020年播出
2020/03/08 国漫
php+ajax实现文章自动保存的方法
2014/12/30 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
jquery ui dialog里调用datepicker的问题
2009/08/06 Javascript
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
js获取下拉列表框中的value和text的值示例代码
2014/01/11 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
2015/04/06 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
requireJS使用指南
2016/04/27 Javascript
js HTML5上传示例代码完整版
2016/10/10 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
2017/09/05 jQuery
vue自定义指令限制输入框输入值的步骤与完整代码
2020/08/30 Javascript
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
[15:46]教你分分钟做大人——沙王
2015/03/11 DOTA
python 正则式使用心得
2009/05/07 Python
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
Python中map和列表推导效率比较实例分析
2015/06/17 Python
python实现括号匹配的思路详解
2018/08/23 Python
python实现飞机大战微信小游戏
2020/03/21 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
Python运行提示缺少模块问题解决方案
2020/04/02 Python
python 发送get请求接口详解
2020/11/17 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
Timberland俄罗斯官方网上商店:全球领先的户外品牌
2020/03/15 全球购物
Overload和Override的区别
2012/09/02 面试题
网站创业计划书
2014/04/30 职场文书
党员政治学习材料
2014/05/14 职场文书
世博会口号
2014/06/20 职场文书
蛋糕店创业计划书范文
2014/09/21 职场文书
2014年财政局工作总结
2014/12/09 职场文书
十佳少年事迹材料
2014/12/25 职场文书
个人廉政承诺书
2015/04/28 职场文书
MySQL数据库中varchar类型的数字比较大小的方法
2021/11/17 MySQL