Реализовать локальное хранилище для списка задач

#javascript

Вопрос:

Возникла проблема с внедрением локального хранилища в мой список дел. Я просмотрел тонну видео, понял синтаксис и т.д., Но я не могу понять, как это реализовать в моем коде. Я пытаюсь добиться того, чтобы приложение для выполнения задач сохраняло задачи(чтобы они оставались на сайте после перезагрузки) и хранило их в локальном хранилище.

 window.addEventListener('load', () =gt; {  const form = document.querySelector("#new-task-form");  const input = document.querySelector("#new-task-input");  const list_el = document.querySelector("#tasks");  const storeTasks = [];   localStorage.setItem('Stored Task', JSON.stringify(storeTasks));  storeTasks.append(input.value);  localStorage.getItem('Stored Task');   console.log(storeTasks);   /*localStorage.setItem('tasks', "list_el");  localStorage.getItem('list_el');*/  console.log(list_el);   form.addEventListener('submit', (e) =gt; {  e.preventDefault();   const task = input.value;   if (!task) {  alert("Add onto the bucketlist!");  return "";  }   const task_el = document.createElement('div');  task_el.classList.add('task');   const task_content_el = document.createElement('div');  task_content_el.classList.add('content');   task_el.appendChild(task_content_el);   const task_input_el = document.createElement('input');  task_input_el.classList.add('text');  task_input_el.type = 'text';  task_input_el.value = task;  task_input_el.setAttribute('readonly', 'readonly');   task_content_el.appendChild(task_input_el);     const task_actions_el = document.createElement('div');  task_actions_el.classList.add('actions');    const task_edit_el = document.createElement('button');  task_edit_el.classList.add('edit');  task_edit_el.innerText = 'Edit';    const task_delete_el = document.createElement('button');  task_delete_el.classList.add('delete');  task_delete_el.innerText = 'Delete';    task_actions_el.appendChild(task_edit_el);  task_actions_el.appendChild(task_delete_el);   task_el.appendChild(task_actions_el);     list_el.appendChild(task_el);   input.value = '';   task_edit_el.addEventListener('click', (e) =gt; {  if (task_edit_el.innerText.toLowerCase() == "edit") {   task_edit_el.innerText = "Save";  task_input_el.removeAttribute("readonly");  task_input_el.focus();  } else {  task_edit_el.innerText = "Edit";  task_input_el.setAttribute("readonly", "readonly");  }  });   task_delete_el.addEventListener('click', (e) =gt; {  list_el.removeChild(task_el);  });  }); });   

Комментарии:

1. с какой ошибкой или проблемой вы столкнулись? Стоило бы поместить их сюда.

Ответ №1:

Похоже, проблема в том, что вы сохраняете список в локальном хранилище, прежде чем добавлять в него элементы.

А потом попробуй это изменить. localStorage не «обновляется» при изменении сохраненной переменной. Он обновляется, когда вы указываете ему обновить, поэтому вам нужно вызывать localStorage.setItem всякий раз, когда вы добавляете новые элементы.

И помните, что localStorage сохраняет строку, поэтому вам понадобится JSON.parse ваш результат из localStorage.GetItem, чтобы превратить его обратно в объект JS.

Комментарии:

1. Я думаю, что понимаю, о чем вы говорите, но не уверен, как это закодировать, возможно ли, чтобы вы написали кодовое решение? Я бы лучше понял, если бы знал решение.