原 js实现数据持久化
在写js事件时,常常遇到点击一个事件,然后在若干时间以后需要知道最近一次点击的事件的结点。比如这里:
我点击树节点1,再点击tab2,然后我再来回切换tab,假如最后一次点击tab时在tab2上,这时,我希望点击另一个树节点2,但是这时传到后台没有所点tab的标记,自然不会将tab的值传到后台,就算在tab点击事件中设置了标记,在点击树节点时也会被临时销毁了,此时需要做的是点击tab时将值持久化,缓存起来,然后下次刷新的时候用,简单而言,代码就是下面的情况:
1)判断本地存储是否可用:
if(window.localStorage) {  
 // localStorge可用  
 }else {  
// localStorge不可用  
 } 
2)存储数据
[javascript] view plain copy
 print?
// 获取本地存储对象  
var localStorage =window.localStorage;  
// 存储  
localStorage.setItem("key",content);
3)取出数据
[javascript] view plain copy
 print?
var myKey =localStorage.getItem("key"); 
4)
[javascript] view plain copy
 print?
localStorage.clear();
以上是我查看博客http://blog.csdn.net/cordova/article/details/50853452中所显示的代码段,在我自己的项目中我是这样写的:
1)点击tab事件(两个tab事件)实现数据持久化
2)点击树节点时取出持久化数据并判断
3)然后进行对应的数据传值与渲染
4)销毁localStorage(注意,该事件的销毁应该放在事件外面,因为点击一次tab以后可能会多次点击树节点,如果在方法内把持久化的值销毁以后,下一次点击树节点时就会导致取到的值为空)
--------------------- 
作者:blueskynyl 
来源:CSDN 
原文:https://blog.csdn.net/qq_33358062/article/details/77100233 
版权声明:本文为博主原创文章,转载请附上博文链接!
原 js实现数据持久化的更多相关文章
- Can JavaScript connect with MySQL?  浏览器控制台的js采集数据结果持久化存储
		
浏览器控制台的js采集数据结果持久化存储 how to open a file in javascript https://developer.mozilla.org/en-US/docs/Web/A ...
 - 用js把数据从一个页面传到另一个页面
		
用js把数据从一个页面传到另一个页面的层里? 如果是传到新页面的话,你网站基于什么语言开发直接用get或者post获取,然后输出到这个层 通过url传参 如果是HTML页面的话JS传到新页面就wind ...
 - React Native 之 数据持久化
		
前言 因为 实战项目系列 涉及到数据持久化,这边就来补充一下. 如本文有错或理解偏差欢迎联系我,会尽快改正更新! 如有什么问题,也可直接通过邮箱 277511806@qq.com 联系我. demo链 ...
 - dva框架使用mock.js模拟数据 + fetch请求数据
		
what DVA? Dva是基于Redux做了一层封装,对于React的state管理,有很多方案,我选择了轻量.简单的Dva. dva 可以很方便就使用mock.js进行数据的模拟. 只需要三步,即 ...
 - Android开发学习之路--数据持久化之初体验
		
上班第一天,虽然工作上处于酱油模式,但是学习上依旧不能拉下,接着学习android开发吧,这里学习数据持久化的 知识. 其实数据持久化就是数据可以保存起来,一般我们保存数据都是以文件,或者数据库的形式 ...
 - Flutter数据持久化入门以及与Web开发的对比
		
对于大部分安卓或者IOS开发人员来说,App的数据持久化可能是很平常的一个话题.但是对于Web开发人员来说,可能紧紧意味着localStorage和sessionStorage. Web开发 loca ...
 - redis的数据持久化策略
		
redis提供了两种不同的持久化方法来将数据存储到硬盘里面.一种方法叫快照,它可以将存在于某一时刻的所有数据都写入硬盘里面.另一种方法叫只追加文件(AOF),它会在执行写命令时,将被执行的写命令复制到 ...
 - Redis数据持久化
		
持久化选项 Redis提供了两种不同的持久化方法来将数据存储到硬盘里面.一种方法叫快照(snapshotting),它可以将存在于某一时刻的所有数据都写入硬盘里面.另一种方法叫只追加文件(append ...
 - 170320、使用快照和AOF将Redis数据持久化到硬盘中
		
前言 我们知道Redis是一款内存服务器,就算我们对自己的服务器足够的信任,不会出现任何软件或者硬件的故障,但也会有可能出现突然断电等情况,造成Redis服务器中的数据失效.因此,我们需要向传统的关系 ...
 
随机推荐
- 带你搭一个SpringBoot+SpringData JPA的环境
			
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 不知道大家对SpringBoot和Spring Da ...
 - 关于ES5的indexof()和ES7的includes()的区别
			
早es5的时候就有了查找数组中是否包含某个值的API indexOf(); 使用方法很简单,比如有个数组是: var arr=[2,3,4,"php"] 如果我们想知道数组中有没 ...
 - C#采用vony.Html.AIO插件批量爬MM网站图片
			
一.创建项目 1.创建一个.netframework的控制台项目命名为Crawler 2.安装nuget包搜索名称Ivony.Html.AIO,使用该类库什么方便类似jqury的选择器可以根据类名或者 ...
 - 将个人博客从GitHub迁移至阿里云服务器过程总结
			
让我们先回顾下前两篇博客: 程序员如何从0到1搭建自己的技术博客 在个人博客中优雅的使用Gitalk评论插件 通过前两篇博客,我们了解了如何快速的从0到1搭建一个个人博客并使用了Gitalk评论插件, ...
 - java_stream流
			
Stream流的个人理解 整体来看,流式思想类似于工厂车间的“生产流水线”,通过一些列操作来获取我们需要的产品 在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念 ...
 - Web学习的第四天
			
今天通过前面的学习,自己写了段代码. 今天还学习了列表,列表的分类有:无序列表.菜单列表.目录列表.有序列表.定义列表. 列表类型 标记符号 ...
 - 关于mui前端传值,springboot后台接收值的问题
			
最近做app,使用mui的ajax给后台传参,后台一直接收不到值,表示很蛋疼.这里通过网上搜索加上个人实践,总结归纳了三种前端传值和后台接收的方式. 第一种: 前端: data: JSON.strin ...
 - SQL Server的Linked Server支持使用SEQUENCE吗?
			
SQL Server的Linked Server支持使用SEQUENCE吗? SQL Server 2012开始支持序列(SEQUENCE),今天遇到有个同事咨询,能否在LINKED SERVER ...
 - ioremap_nocache() 函数的使用【转】
			
本篇文章主要是在ioremap_nocache函数说明的基础上进行整理,加入该函数的用法简介. 函数原型 void __iomem * ioremap_nocache (unsigned long o ...
 - Windows Server 2016-Powershell之客户端加域
			
将本地计算机添加到域或工作组,可通过Add-Computer命令操作,具体信息如下: 语法: Add-Computer [-DomainName] <String> [-ComputerN ...