这是我保存1条记录的方式
save.ts
save(){
this.sectionObj = {
"name" : this.myname,
"contactno" : this.contactno
};
localStorage.setItem("resume",JSON.stringify(this.sectionObj));
}
本地存储的结果如下
key
是简历
value
是
{
"name":"saurabh..",
"contactno":"892732224"
}
现在我想在此键值中添加另一条记录,我该怎么做才能在每次附加新记录时保存而不只是更新当前记录?
答案 0 :(得分:1)
add(key: string, value: string) {
// Read currently saved object
const tmp = localstorage.getItem('resume');
this.sectionObj = JSON.parse(tmp);
// Add new key/value pair
this.sectionObj[key] = value;
// Save again
localStorage.setItem('resume', JSON.stringify(this.sectionObj));
}
答案 1 :(得分:0)
尝试使用此代码来读取,编写和处理异常,希望对您有所帮助
setData(){
let tmpdata = localstorage.getItem('resume');
this.sectionObj = { name : this.myname, contactno : this.contactno };
if (tmpdata){
this.tmpSectionObj = JSON.parse(tmpdata);
this.tmpSectionObj.push(this.sectionObj);
localstorage.setItem('resume',JSON.stringify(this.tmpSectionObj));
}else{
localstorage.setItem('resume', JSON.stringify([]));
}
}
答案 2 :(得分:0)
你可以使用这个基本概念 - 1.在本地存储中获取现有项目 2.解析它是否存在 3.推送新对象 4.更新本地存储
逻辑 -
save(){
dataObj = [];
this.sectionObj = { "name" : this.myname,
"contactno" : this.contactno
};
data = localStorage.getItem('resume'); //get existing item in localstorage
if(data) //check if it exists or not empty
{
dataObj = JSON.parse(data); //parse string
}
dataObj.push(this.sectionObj);
localStorage.setItem("resume",JSON.stringify(dataObj));
}