【发布时间】:2020-06-28 18:20:10
【问题描述】:
我对 Web 开发比较陌生,现在正在部署我的第一个 Web 应用程序(To-Do-List),您可以查看它https://peaceful-stream-48694.herokuapp.com/。
现在我想添加 HTML 本地存储来保存待办事项,在初始化网站时,我得到了一个类型错误(无法读取我的待办事项错误的 null 属性)。 我知道当存储中没有项目时,我要么必须将数组设置为零,要么将它们加载到数组中以防万一(已经工作),但是我不知道在那里时该怎么做什么都没有。
我想这是范围的问题,但我只是不知道如何解决它。这是存储和加载数据的代码:
function saveList() {
let str = JSON.stringify(toDoList);
localStorage.setItem("todoList", str );
}
function loadList() {
if (toDoList == null) {
toDoList = [];
} else {
let str = localStorage.getItem("todoList")
toDoList = JSON.parse(str);
displayList()
}
}
function displayList() {
if (toDoList != null) {
for(i=0; i < toDoList.length; i++) {
htmlInsert ='<div id="' + toDoList[i].id + '" class="newItem"> <input type="checkbox"> <p>' + toDoList[i].toDo +'</p> <button type="button" class="deleteButton">DELETE</button></div>';
list = document.getElementById("itemsList");
list.insertAdjacentHTML("beforeend", htmlInsert);
SetupEventListener();
}
}
}
loadList()
To-Do 数组在开头是全局定义的:
let toDoList = [];
感谢您的帮助。 非常感谢,如果这很混乱,很抱歉,不知道如何更清楚。
干杯
【问题讨论】:
标签: javascript html scope initialization local-storage