List 를 작성해서 추가하면, 화면에 리스트가 추가된다.
새로고침을 해도 화면과 storage 에서 List 를 유지한다. 그렇지만 현재
화면에서 List 를 삭제해도, storage 에서 삭제가 되고 있지 않다. 다음 파트에서!
const toDoForm = document.getElementById("todo-form");
const toDoInput = toDoForm.querySelector("input");
const toDoList = document.getElementById("todo-list");
const TODOS_KEY = "todos"
let toDos = [];
function saveToDos() {
localStorage.setItem(TODOS_KEY, JSON.stringify(toDos));
}
function deleteTodo(event) {
const li = event.target.parentElement;
console.log(li.childNodes[0])
li.remove();
}
function padintTodo(newTodo) {
const li = document.createElement("li");
const span = document.createElement("span");
span.innerText = newTodo;
const button = document.createElement("button");
button.innerText = "X";
button.addEventListener("click", deleteTodo);
li.appendChild(span);
li.appendChild(button);
toDoList.appendChild(li);
}
function handleToDoSubmit(event) {
event.preventDefault();
const newTodo = toDoInput.value;
toDoInput.value = "";
toDos.push(newTodo);
padintTodo(newTodo);
saveToDos();
}
toDoForm.addEventListener("submit", handleToDoSubmit);
const savedToDos = localStorage.getItem(TODOS_KEY);
if(savedToDos) {
const parsedTodos = JSON.parse(savedToDos);
toDos = parsedTodos;
parsedTodos.forEach(padintTodo);
}