网站首页 > 技术文章 正文
前端开发如何把配置信息存储到本地?这是切图网qietu.com在做的一个前端项目中遇到的,需要用到的是js的存储方法localStorage,它主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题,localStorage的数据是持久存储在用户的硬盘上的,而不是内存,在数据存储方便比session和cookie要更加好用。
现在前端做数据存储,跨页面传值,localStorage是一个很好的方式,以键值对的方式存储,也方便取值赋值。使用getItem()方法可以访问到存在浏览器 localStorage 中的数据对象,它以 key 作为参数,并且返回与 key 相对应的 value。
结合到实际项目中效果不错,附代码:
var jsonArray = [{
"id":"sys-xmbh",
"show":true,
"isSys":true
}
,{
"id":"sys-xmmc",
"show":true,
"isSys":true
}
];
/*=====js 如果有本地存储就调取本地存储 没有 就调取一段默认json=====*/
function getData(){
// 本地存储的键名
var storageKey = "myData";
// 尝试从本地存储中获取数据
var storedData = localStorage.getItem(storageKey);
// 检查本地存储是否有值
// if (storedData) {
// // 解析JSON字符串为对象
// storedData = JSON.parse(storedData);
// } else {
// // 没有本地存储,使用默认的JSON对象
// storedData = jsonArray;
// }
return storedData ? JSON.parse(storedData) : jsonArray;
}
var storedData = getData();
// 使用获取到的数据
console.log(storedData);
/*****==========修改数据 保存============****/
var storedData = getData();
// 要修改name为'Bob'的对象的age值为35
var updatedArray = storedData.map(item => {
if (item.id === id) {
return { ...item, show: data.elem.checked }; // 使用展开运算符复制当前对象,并修改age属性
}
return item; // 对不需要修改的对象保持原样
});
console.log(updatedArray);
// 将JSON对象转换为字符串
var jsonString = JSON.stringify(updatedArray);
// 存储到localStorage
localStorage.setItem("myData", jsonString);
// 从localStorage中检索
//var retrievedString = localStorage.getItem("myData");
// 将字符串转换回JSON对象
//var retrievedObject = JSON.parse(retrievedString);
//console.log(retrievedObject);
/**========清除数据====*/
localStorage.removeItem('myData');
切图网-我的前端外包首选。
标签:localStorage, 本地存储
猜你喜欢
- 2024-12-29 刚入职要学会“脏活累活”抢着做 刚入职需要打扫卫生吗
- 2024-12-29 一位游戏外包策划和她接到的“特殊委托”
- 2024-12-29 刚入职某大厂,面对之前遗留的大量糟糕的前端代码,该怎么办?
- 2024-12-29 WebGIS外包开发流程 web外包项目
- 2024-12-29 WebGIS技术外包开发 webgis开发视频教程
- 2024-12-29 视频采集技术的外包开发框架 视频采集技术的外包开发框架有哪些
- 2024-12-29 亲身经历!揭露某IT外包公司(南京)裁员内幕(五)
- 2024-12-29 webGIS技术外包开发 webgis开发视频教程
- 2024-12-29 一则故事告诉你程序员为什么不要进外包公司
- 2024-12-29 React Native (RN) 外包开发成本 ios外包开发
你 发表评论:
欢迎- 501℃几个Oracle空值处理函数 oracle处理null值的函数
- 494℃Oracle分析函数之Lag和Lead()使用
- 493℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 482℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 473℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 468℃【数据统计分析】详解Oracle分组函数之CUBE
- 453℃Oracle有哪些常见的函数? oracle中常用的函数
- 449℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 最近发表
-
- Spring Boot跨域难题终结者:3种方案,从此告别CORS噩梦!
- 京东大佬问我,SpringBoot为什么会出现跨域问题?如何解决?
- 在 Spring Boot3 中轻松解决接口跨域访问问题
- 最常见五种跨域解决方案(常见跨域及其解决方案)
- Java Web开发中优雅应对跨域问题(java跨域问题解决办法)
- Spring Boot解决跨域最全指南:从入门到放弃?不,到根治!
- Spring Boot跨域问题终极解决方案:3种方案彻底告别CORS错误
- Spring Cloud 轻松解决跨域,别再乱用了
- Github 太狠了,居然把 "master" 干掉了
- IntelliJ IDEA 调试 Java 8,实在太香了
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)