angular localStorage添加到现有键



所有人,

我对localStorage有一个问题,我不知道如何解决它。我有一个表格,首先询问姓名和性别,在第2步,我有另一个表格询问体重和身高。步骤1中的数据保存在localStorage中,但当我尝试添加步骤2中的值时,它们只是用步骤2的信息替换localStorage中的值,而不是用步骤1的信息添加。我能做些什么来修复它,如果有人有时间可以帮助我,我将不胜感激。

问候,

TS。从步骤1开始,这就是我存储步骤1表单及其工作的方式。

submit() {

localStorage.setItem('quizData', JSON.stringify(this.form.value));
console.log(JSON.stringify(this.form.value));
}

这是第2步的TS,它不起作用,我试图在第2步表单中推送值,但它只是替换localStorage中的值,而不是将它们添加到同一个密钥quizData中。

submit() {
let test = JSON.parse(localStorage.getItem('quizData') || '{}');
let updated = test.push(this.form.value);
localStorage.setItem('quizData', JSON.stringify(updated));
console.log(test);
}

我可以做些什么来添加步骤1和步骤2的数据,而不是替换数据。非常感谢您抽出时间。

试试这个

let test = JSON.parse(localStorage.getItem('quizData') || '{}');
let updated = { ...test, this.form.value };

文档:扩展对象文字

最新更新