当前位置:网站首页>问题系列-如何修改或更新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实际保存的是字符串就很好明白了,也不知道还有没有别的简便方法了,有的话非常感谢您的告知。非常感谢噢!!
边栏推荐
猜你喜欢
30行代码实现蚂蚁森林自动偷能量
FPGA-近日工作总结
Redis源码剖析之跳表(skiplist)
某高校的R语言数据分析期末作业
How to save Simulink simulation model as image or PDF
Uni - app - uview Swiper shuffling figure component, click on the links to jump (click to get the item after the row data, remove data operation)
农村区县域农业电商如何做?数字化转型如何进行?
5G China unicom 一般性异常处理
Data Mining-05
Final assignment of R language data analysis in a university
随机推荐
JVM常用监控工具解释以及使用
2.微服务'黑话'集锦及Eureka注册中心相关概念
Map mixed density function and quantile added line
Oracle Recovery Tools修复空闲坏块
Flutter Getting Started and Advanced Tour (7) GestureDetector
ViewPager fragments of nested data blank page abnormal problem analysis
十进制数字→十六进制字符
某高校的R语言数据分析期末作业
[MRCTF2020]套娃-1
正则引擎的几种分类
handwritten big pile
NFS 特别注意权限的问题
周末看点回顾|我国IPv6网络全面建成;2022昇腾AI开发者创享日·南京站成功举办…
telnet+ftp to control and upgrade the device
leetcode 20. Valid Parentheses 有效的括号(中等)
工作任务统计
#WeArePlay | 与更多开发者一起,探索新世界
5G China unicom 直放站 网管协议 实时性要求
Do you know the difference between comments, keywords, and identifiers?
FFmpeg多媒体文件处理(ffmpeg处理流数据的基本概念)