육캔두잇!
기간 : 24. 01.10 - 24.01.26
최하온 | 문상웅 | 조완희 | 서린 | 김유진 |
---|---|---|---|---|
리뷰 작성 기능 및 적재 | 리뷰 작성 기능 및 적재 | 메인페이지 및 창이동 구현 | 상세 페이지 구현 | 상세 페이지 구현 |
우선 localStorage을 이용하여야 하는데 어떻게 작동하는지 모르겠다.
우선 localStorage와 친해지기위해 이것저것 시도해보았다.
아래 순서로 진행해보자
1. 데이터 저장하기.
2. 저장한 데이터 불러오기.
3. 화면에 띄우기.
간단한 Test용 사이트를 만든 다음,
// 버튼
let submitBtn = document.querySelector(`input[type="submit"]`);
// 이름 받아오기
let inputName = document.querySelector(`input[type="text"]`);
// 리뷰 내용 받아오기
let inputComment = document.getElementById("comment");
// 리뷰 리스트
let reList = document.getElementById("reList");
버튼을 눌렀을 때 이름과 내용을 저장해야하기 때문에 버튼과, 이름, 리뷰을 칭하는 식별자들을 담아주었다.
// 로컬저장소에 데이터 저장 후 경고창으로 알림.
function push() {
localStorage.setItem(inputName.value, inputCommend.value);
alert("작성이 완료되었습니다.");
}
localStorage.setItem를 사용하여 이름과 리뷰의 값을 저장해주고 경고 창을 두어 잘 작동하나 테스트 겸 문구를 넣었다.
1. 데이터 저장하기 성공.
//반복하며 데이터 로드하기
function loadDataAndDisplay() {
for (let i = 0; i < localStorage.length; i++) {
let key = localStorage.key(i);
let value = localStorage.getItem(key);
새로고침 할 때나 창이 로드 될 때 마다 사용해줄 재사용 함수를 만들고 저장소에 있는 key를 순회하며 그 키를 가진 vaule를 불러온다.
// 리뷰카드 추가를 위해 li 만든 뒤 textContent를 사용하여 내용 넣어주기. 이름과 리뷰를 가져오기 위해 `${key}`,`${value}` 사용.
let listItem = document.createElement("li");
listItem.textContent = `이름 : ${key} 평가 ${value}`;
//리뷰 목록에 자식 요소로 `listItem` 추가하기.
reList.appendChild(listItem);
}
}
// 리뷰 작성 클릭 시 push 함수 콜백!
submitBtn.addEventListener("click", push);
// 페이지 로드 시 데이터 로드함수 콜백!
window.addEventListener("load", loadDataAndDisplay);
웹 스토리지는 두 개로 나눌 수 있다.
브라우저가 열려 있는 동안만 사용할 수 있는 저장소임.
동일한 작업을 수행하지만 브라우저를 닫았다가 다시 열어도 저장 유지. 컴퓨터를 껐다 켜도 저장이 되어있다.
나는 localStorage
를 사용 할 거기 때문에 localStorage
를 Araboza
// 데이터 저장하기. 키-벨류 페어로 문자열만 입력 가능.
localStorage.setItem("key", value);
// 데이터 불러오기
localStorage.getItem("key");
// 데이터 삭제
localStorage.removeItem("key");
// 모든 데이터 삭제
localStorage.clear();
// 저장된 키/값 쌍의 개수
localStorage.length;
textContent는 HTML 요소의 텍스트 내용을 설정하거나 가져오는 속성
appendChild는 특정 요소를 다른 요소의 하위 요소로 삽입하는 역할
간단하게 불러오는 기능까지만 연습 겸 해보았다.
팀의 조장을 맡게 되었는데 너무 미숙하여 팀원분들께 죄송하다..
개인 공부도 해야하는데 잠을 좀 줄이고 이번 주말도 헌납 해야 할 거 같다.