Vue · 05 목록 key와 조건부 수명
단계: 반응형 데이터와 템플릿 · 편집 가능한 예제 · 저장 ID: vue-step-05
목표와 학습 후 역량
- id key로 정렬해도 메모가 같은 카드에 남는다.
- 두 숨김 방식의 메모 보존 결과를 각각 기록한다.
선수 지식
5단위는 4단위 결과물과 실험 기록을 이어 사용합니다.
핵심 개념과 설명
목록 정체성
v-for의 key는 각 항목을 식별합니다. 순번 key는 재정렬 시 입력 상태와 데이터의 연결을 흐릴 수 있습니다.
조건부 표시
v-if는 컴포넌트를 생성하거나 제거합니다. v-show는 DOM을 남기고 표시 스타일을 바꿉니다.
실습 준비
예제 화면의 실행 범위 안내를 먼저 확인하세요. 다음은 과제를 별도 프로젝트로 확장할 때의 준비 환경입니다. 별도 Vue Vite 프로젝트에서 .vue SFC와 script setup을 사용합니다. 패키지 버전과 lockfile을 기록하고 개발 서버에서 실행하세요. 내장 Vue 예제는 h 함수 기반이며 범용 SFC 컴파일러가 아닙니다.
연결된 예제는 출발점입니다. 아래 과제 전체가 완성된 코드는 아니며, 예제의 지원 범위를 넘는 작업은 별도 프로젝트에서 수행하세요.
실습 과제
- src/CardRow.vue에 로컬 입력을 두고 id key로 목록을 만드세요.
- 첫 행에 메모를 입력한 뒤 카드 배열을 역순으로 정렬하세요.
- v-if와 v-show로 목록을 각각 숨겨 로컬 메모가 유지되는지 비교하세요.
관찰할 변수
| 변수 | 기준 조건 | 바꿀 조건 | 예상할 변화·검증 가설 |
|---|---|---|---|
| 숨김 방식 | v-show | v-if | v-if 제거 뒤 로컬 메모는 새 인스턴스의 초기값이 된다. |
표의 예상은 측정 결과가 아닙니다. 한 번에 한 조건만 바꾸고 실제 결과가 다르면 원인을 기록하세요.
완료 조건
- id key로 정렬해도 메모가 같은 카드에 남는다.
- 두 숨김 방식의 메모 보존 결과를 각각 기록한다.
자가 점검
- v-show로 숨긴 타이머는 계속 실행되나요?
- key에 제목을 쓰면 제목 수정 시 어떤 일이 생기나요?
공식 참고
연결된 예제와 실행 범위
실제 Vue 반응성과 render 함수 실험입니다. SFC 템플릿은 외부 컴파일 환경에서 확인합니다.
원본 코드·기록은 자동으로 덮어쓰지 않습니다. 기존 예제를 초기화할 때도 필기는 유지됩니다.
다음 학습
이전: computed의 순수한 계산 · 다음: 이벤트와 입력 변환