我用localstroage只能实现保留一个输入框的内容,如果同时保存的话就只会显示第一个输入框的内容,那么我该怎么做呢。是不是用一个数组,接着用if再逐次写入读取呢?该怎么实现呢。如果方便的话请写上代码。麻烦您了。
2 回答
catspeake
TA贡献1111条经验 获得超0个赞
localstoage保存的数据,是以key / value的形式存储的。value是一个字符串,因此你要保存多个数据,有几种方式可以实现:
一、 使用多个key/value组合,每一个输入框的key都不一样,这样相互之间就不会有影响,就可以保存和获取多个值
二、将一系列输入框内容保存在同一个key下面,那么对value的形式就需要做一些特殊的处理,一般来说分为两种处理方式:
1. 使用分隔符,例如 value1|value2|value3,使用竖线分割,读取出来后再使用竖线拆分,有点是简单,缺点是对保存的顺序有要求,你必须知道第一个是代表什么,第二个是代表什么。
2. 使用序列化的对象,例如你将一些值存到一个对象,再将对象转换为字符串存到localstorage,就像这样:"{key1: 'value1', key2: 'value2'}"。然后读取数据的时候,将字符串再转成对象。这样做的有点是结构清晰,维护方便;缺点是相对麻烦点,且效率相对第1种要低,因为毕竟要做一些序列化和反序列化的操作。至于如何对对象序列化,以及如何将字符串转成对象,网上一搜一大把,这里就不说明了。
添加回答
举报
0/150
提交
取消