JavaScript-3
Javascript - TodoList 1
localstorage, event, stringfy, filter
Flow
- ์๋ก ๊ณ ์นจ์ด๋, ์น์ ์ฌ์ ์์ stroage์ ์๋ ๊ฐ์ ์ฝ์ด์ค๊ธฐ ์ํด load๋ฅผ ํด์ค๋ค. (loadedToDo)
- ๊ฐ ๊ฐ์ paint ํด์ค๋ค. (paintToDo)
- ์
๋ ฅ ๊ฐ์ ๊ฐ์ ์ด ํ, submit event (handleSubmit)
- ๊ฐ์ paint ํด์ค๋ค. (paintToDo)
- button event (deleteToDo)
- button ์์ฑ ๋ฐ event ์ฒ๋ฆฌ๋ฅผ ํด์ค๋ค.
- html list remove, object์ filterํด์ push
- object save
- ๊ฐ ๊ฐ์ object์ push ํ๋ค.
- button event (deleteToDo)
- ์ ์ฅํ object saveํ๋ค. (saveToDo)
- ๊ฐ์ paint ํด์ค๋ค. (paintToDo)
loadedToDo, saveToDo
- Saving the User Name user computer์ ์์ localstorage๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค.
์น์์ โF12โ์ local Storage ๋ด - file://์ ํ์ธ๊ฐ๋ฅ!
- localStorage.setItem / localStorage.getItem ์ผ๋ก localStorage ์กฐ์ ๊ฐ๋ฅ
(Url์ ๊ธฐ์ค์ผ๋ก ์์ง์ธ๋ค.)
handleSubmit
-
form ํ๊ทธ ๋ด์ input์ ๋ฌ์ผ enter๊ฐ ํ์ฑํ ๋๋ค.
why? form์ ๋ฐ์ดํฐ๋ฅผ ์น์ฌ์ดํธ์ ์ ์กํด์ค๋ค. ex ) input, label -
event์ ๊ธฐ๋ณธ ๋์์ ๋์์ ์คํํ๋ฉด ๊ณ์ ์๋ก ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ฌ์คํ(์๋ก๊ณ ์นจ)ํ๊ฒ ๋๋ค. ์ด๊ฒ์ ๋ง์์ฃผ๊ธฐ ์ํด event.preventDefault ๋ฅผ ํด์ค๋ค.
painToDo
-
localstorage์๋ javascript ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ ๋ถ๊ฐ string์ผ๋ก ์ ์ฅํ๋ ค๊ณ ํ๋ค.
-> JSON.stringify
localstorage์ ์๋ string์ javascript ๋ฐ์ดํฐ๋ก ๋ฐ๊ฟ ์ถ๋ ฅํด์ผ ํ๋ค.
->JSON.parse
JSON (JavaScript Object Notation) -> JavaScript๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ์ ์๋๋ก ๋์์ฃผ๋ ์ ํธ๋ฆฌํฐ -
parsedToDos.forEach (function (Todo) ) : parsedToDos array์์ ์๋ ๊ฐ๋ค์ ๊ฐ๊ฐ Todo ๋ณ์ ์์ ๋ฃ์ด function์ ์คํํ๋ค.
deleteToDo
- filter ๋
const cleanToDos = toDos.filter(function filterFn(toDo) { return toDo.id !== parseInt(li.id); });
return์ ๋ง๋ ์กฐ๊ฑด๋ค์ ๊ฐ๋ง ์ฐพ์์ค๋ค.
point:
event.preventDefault : event ์ refresh ๋๋ ๊ฒ์ ๋ง์์ค๋ค.
Element ์์ฑ? document.createElement / innerText / appendchild
list ์์ฑ? array ์ด์ฉํด์ object์ push ํด์ค๋ค.
LocalStorage ๋ฐ์ดํฐ?
javascript ๋ฐ์ดํฐ๋ JSON.stringfy๋ฅผ ํตํด string >๋ฐ์ดํฐ๋ก ๋ฐ๊ฟ์ค๋ค.
localstroage๋ฐ์ดํฐ๋ JSON.parse๋ฅผ ํตํด javascript ๋ฐ์ดํฐ๋ก >๋ฐ๊ฟ์ค๋ค.