当前位置:网站首页>问题系列-如何修改或更新localhost里的值
问题系列-如何修改或更新localhost里的值
2022-08-09 12:52:00 【文默】
一、问题
背景
这次遇到的一个问题是我需要更改在登录后把后台返回给我的,我保存在localhost里的user信息,因为在我的项目中,我是通过该信息里的adminSchool来判断该管理员所属的学校的,一开始还好,但后面可客户添加需求了,需要有一个超级管理员能查看所有学校的信息,这时我就想偷懒了,预想给一个下拉框让他选择不同的学校,获取到不同的学校id就能直接使用前面的代码了,哈哈哈。
问题
在这里就有个问题了,如何修改localhost里的值,一开始我以为可以直接修改,就有了下面的写法(内心已经觉得不行的,死马但当马医了~~)
接着查了下资料,发现localstorage只能存字符串,直接改值肯定不行的呀~~
就去菜鸟查看了下localhost 如何增删改查,具体我就不说了,链接里有详细,我就不复述了。这里说三点就是
- 增/改用(setItem( “key” , “value” ))【key相同就会覆盖,不同就添加新的】
- 删用(removeItem( “key” , “value” ))
- JSON.parse()/JSON.stringify()前者字符串转变为json格式,后者json格式变为字符串格式
到这里我就发现改不了,我要改的是实际上是一个字符串,没办法获取到adminSchoo并且修改它的值为我要的。于是只能用个蠢办法了,我先读取到这个值,还原为json格式,修改后再保存回去,因为同名会覆盖之前的。
解决思路
- 先拿到 storage 然后用JSON.parse转 修改后用JSON.stringify再转 最后存进去
具体方法如下
//获取到选择学校的ID
handleCommand(response) {
console.log(response);
//获取到之前的user并且还原为json,暂存到userMassage(userMassage创建在data里面)
this.userMassage = JSON.parse(window.localStorage.getItem('user'));
console.log(this.userMassage);
//修改我要修改的adminSchool
this.userMassage.admin.adminSchool = response;
//把更新好的user,变为字符串形式
let user = JSON.stringify(this.userMassage)
//把user保存到localhost,因为与之前的同名,会覆盖之前的
window.localStorage.setItem("user" , user)
}
总结
这里搞明白localhost实际保存的是字符串就很好明白了,也不知道还有没有别的简便方法了,有的话非常感谢您的告知。非常感谢噢!!
边栏推荐
猜你喜欢
Flutter Getting Started and Advanced Tour (8) Button Widget
新起之秀 DPU,正在掀起数据中心变革!
WSA工具箱安装应用商店提示无法工作怎么解决?
How to reduce the size of desktop icons after the computer is reinstalled
How to solve the 0x80070005 error when the computer is reinstalled and the system is restored
Oracle Recovery Tools修复空闲坏块
七夕力扣刷不停,343. 整数拆分(剑指 Offer 14- I. 剪绳子、剑指 Offer 14- II. 剪绳子 II)
FFmpeg多媒体文件处理(ffmpeg处理流数据的基本概念)
FFmpeg多媒体文件处理(ffmpeg操作目录及list的实现)
5G China unicom 直放站 网管协议 实时性要求
随机推荐
Jenkins API groovy调用实践: Jenkins Core Api & Job DSL创建项目
RTSP协议的实现
GIN文件上传与返回
gin的中间件和路由分组
Microsoft 10/11 命令行打开系统设置页(WUAP,!WIN32)
Rmarkdown教程
Flutter introduction advanced trip (5) Image Widget
技术分享 | 接口自动化测试如何处理 Header cookie
工作任务统计
Final assignment of R language data analysis in a university
How to save Simulink simulation model as image or PDF
驻波比计算方法
5G China unicom general exception handling
5G Unicom Network Management Design Ideas
WPF 实现带蒙版的 MessageBox 消息提示框
Standing wave ratio calculation method
FFmpeg多媒体文件处理(FFMPEG日志系统)
农村区县域农业电商如何做?数字化转型如何进行?
#WeArePlay | 与更多开发者一起,探索新世界
陈强教授《机器学习及R应用》课程 第十五章作业