当前位置: 首页 > news >正文

Vue todoList案例 优化之本地存储

测试代码

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <h1>浏览器本地存储案例</h1> <button onclick="saveData()">点击保存数据</button> </body> <script> function saveData(){ window.localStorage.setItem("name","张三") window.localStorage.setItem("age","18") // 保存对象类类型测试 let student = {'sid':10086,'sname':'张三','age':16} window.localStorage.setItem('stu',student) } </script> </html>

显示效果如下


说明

1- 本次存储是以字符串的方式保存所有数据的

2- 保存对象时,保存的是对象的toString() 方法所输出的内容,格式显示不友好,建议使用 json 来代替

修改代码

// 保存对象类类型测试 let student = {'sid':10086,'sname':'张三','age':16} // window.localStorage.setItem('stu',student) window.localStorage.setItem('stu',JSON.stringify(student))

显示效果

本地存储的获取和删除

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Document</title></head><body><h1>浏览器本地存储案例</h1><buttononclick="saveData()">点击保存数据</button><buttononclick="readData()">点击读取数据</button><buttononclick="deleteData()">点击删除数据</button><buttononclick="deleteAllData()">点击删除所有数据</button></body><script>functionsaveData(){window.localStorage.setItem("name","张三")window.localStorage.setItem("age","18")// 保存对象类类型测试letstudent={'sid':10086,'sname':'张三','age':16}window.localStorage.setItem('stu',JSON.stringify(student))}functionreadData(){console.log(localStorage.getItem("name"))console.log(localStorage.getItem("age"))letstu=localStorage.getItem("stu")console.log(JSON.parse(stu))}functiondeleteData(){localStorage.removeItem('name')}functiondeleteAllData(){localStorage.clear()}</script></html>

以上是持久化存储,即使浏览器关闭再打开,也会存储到本地

会话级本地存储

sessionStorage

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Document</title></head><body><h1>浏览器本地存储案例</h1><buttononclick="saveData()">点击保存数据</button><buttononclick="readData()">点击读取数据</button><buttononclick="deleteData()">点击删除数据</button><buttononclick="deleteAllData()">点击删除所有数据</button></body><script>functionsaveData(){window.sessionStorage.setItem("name","张三")window.sessionStorage.setItem("age","18")// 保存对象类类型测试letstudent={'sid':10086,'sname':'张三','age':16}window.sessionStorage.setItem('stu',JSON.stringify(student))}functionreadData(){console.log(sessionStorage.getItem("name"))console.log(sessionStorage.getItem("age"))letstu=sessionStorage.getItem("stu")console.log(JSON.parse(stu))}functiondeleteData(){sessionStorage.removeItem('name')}functiondeleteAllData(){sessionStorage.clear()}</script></html>

TODO案例中的本地存储

深度监听 todos 变量

watch:{todos:{deep:true,handler(value){localStorage.setItem('todos',JSON.stringify(value))}}}

todos 的数据获取

data(){return{todos:JSON.parse(localStorage.getItem('todos'))||[]}},
http://www.cnnetsun.cn/news/74683.html

相关文章:

  • SCS 59.单细胞空间转录组空间度量(SPATA2)
  • 【毕业设计】基于springboot高校体育运动会比赛系统运动项目、运动论坛(源码+文档+远程调试,全bao定制等)
  • 干货收藏:AI大模型进化史,从ChatGPT到智能体的三次关键跃迁
  • Docker Compose编排LLama-Factory多节点训练集群详细配置示例
  • Wan2.2-T2V-A14B模型部署指南:从VSCode配置C/C++环境说起
  • 计算机Java毕设实战-基于springboot公寓管理系统基于Springboot的公寓报修管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 如何制作支持离线地图的GPS自行车码表:从硬件选型到功能实现的完整指南
  • 计算机Java毕设实战-基于springboot国风彩妆网站springboot国风彩妆化妆品网站电商销售商城系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Honey Select 2 HF Patch技术架构深度解析与模块化部署指南
  • 【课程设计/毕业设计】基于springboot的自习室预订系统设计与实现基于springboot高校自习室预约系统的设计与实现【附源码、数据库、万字文档】
  • 大学计算机基础系列(合集)
  • 【课程设计/毕业设计】基于Web的高校大学生奖学金评定系统设计与实现基于springboot高校学生奖学金评定系统的设计与实现【附源码、数据库、万字文档】
  • 【爬虫框架-8】其他
  • Vue-next-admin终极指南:打造现代化后台管理系统的完整解决方案
  • vgmstream终极指南:游戏音频转换与播放全攻略
  • vgmstream音频解码神器:游戏音频格式转换终极指南
  • 印象大红袍通过上市聆讯:上半年营收5588万 利润678万
  • 蔡东青创办的奥动冲刺港股:靠换电半年营收3.2亿同比降32% 亏1.57亿 蔚来资本是股东
  • 基于Next.js的LobeChat为何成为GitHub星标项目?技术架构全拆解
  • 广合科技冲刺港股:前9个月营收38亿净利7亿 刚斥资3.2亿买楼
  • Vue Signature Pad电子签名组件完整使用指南:快速集成步骤与实用配置技巧
  • Joy-Con Toolkit终极指南:如何轻松自定义你的游戏手柄
  • 暗黑破坏神II存档编辑器:多版本兼容的角色定制解决方案
  • [自动化办公] 【Python】【低代码】在明道云中实现无需 pandas 的数据聚合与 HTML 表格生成技巧
  • OpenFace完整指南:从零开始掌握面部行为分析终极工具
  • Python协同过滤算法 音乐推荐系统_731w447o 论坛 浏览历史
  • 17、图像深度处理技术:从理论到实践
  • GitHub项目Star暴涨:Stable Diffusion 3.5 FP8成AIGC开发者新宠
  • Windows显示器亮度控制终极方案:Twinkle Tray完整使用手册
  • VideoDownloadHelper 终极使用指南:轻松下载网页视频资源