javascript - Localstorage 仅保存最后一个对象(香草 Javscript)
问题描述
我想在 OOP 中制作一个带有书单的应用程序,但是在本地存储中保存列表时遇到问题。我让该用户可以添加他的书,现在我想将其保存到本地存储中。我制作了一个数组,并将对象保存到其中,但有些东西不起作用。我只得到最新的对象,我不知道为什么。
一块js:
var title = document.querySelector('input#title').value;
var author = document.querySelector('input#author').value;
var status = document.querySelector('select').value;
var table = document.querySelectorAll('.table')[1];
var book = new Book(title, author, status);
obj.push(book);
localStorage.setItem('Array',JSON.stringify(obj));
解决方案
做一些事情,比如从你的本地获取 Array 值,然后在那里添加项目。
const array = JSON.parse(localStorage.getItem('Array')) || [];
class Book {
constructor(title, author, status) {
this.title = title;
this.author = author;
this.status = status;
}
}
document.getElementById("push_item").addEventListener("click", function() {
console.log("push");
var title = document.querySelector('input#title').value;
var author = document.querySelector('input#author').value;
var status = document.querySelector('select').value;
var table = document.querySelectorAll('.table')[1];
var book = new Book(title, author, status);
array.push(book);
localStorage.setItem('Array', JSON.stringify(array));
});
<input id="title"></input>
<input id="author"></input>
<select >
<option value="1"/>1
<option value="2"/>2
</select>
<button id="push_item">Push</button>
推荐阅读
- python - 如何将整数转换为 np.object?
- ios - 在 UICollectionView 上浮动 UIButton
- php - 如何获取 SELECT EXISTS() 查询值
- php - 当我可以通过 PHP 脚本发送电子邮件时,为什么我不能通过 Wordpress 发送电子邮件?
- python - 删除numpy中的特定子数组
- c# - Msbuild 在调用自定义任务时出错
- r - 报告语料库文档中的平均字符数
- c# - 按钮将其单击事件排队而不是禁用它
- python - TensorFlow 训练批处理作业是否有默认输出目录?
- typescript - 为什么 TypeScript 无法识别已安装的 TypeScript node_modules?