| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- golang
- channel
- component
- localStorage
- Vue.js
- 행렬
- SFC
- graceful shutdown
- Vue
- reactivity
- Dictionary
- goroutine
- go
- TODO
- Matrix
- CDN
- Server
- method
- goroutines
- container
- todo-list
- PROPS
- toggle
- App.vue
- map
- cli
- URL
- Refactoring
- emit
- websocket
Archives
- Today
- Total
ksundev 님의 블로그
v-for 디렉티브 사용하기 본문
1. v-for 디렉티브란?
Vue에서 v-for 디렉티브는 배열이나 객체의 각 항목을 반복하여 렌더링할 때 사용합니다. JavaScript의 for...in 루프와 유사한 기능을 제공합니다.
2. 기본 구현 예제
HTML 구조
<div id="app">
<ul>
<li v-for="item in items">
{{ item }}
</li>
</ul>
</div>
JavaScript 구현
Vue.createApp({
data() {
return {
items: ['item1', 'item2', 'item3']
}
}
}).mount('#app');
3. 핵심 개념 설명
1. v-for 문법
v-for="item in items":items배열의 각 항목을item으로 접근item은 반복되는 각 요소의 값입니다.
2. 렌더링 결과
<ul>
<li>item1</li>
<li>item2</li>
<li>item3</li>
</ul>
3. 반응성
items배열이 변경되면 화면이 자동으로 업데이트됩니다.- 배열에 항목을 추가하거나 제거하면 즉시 반영됩니다.
4. v-for의 다양한 사용법
1. 인덱스와 함께 사용
<li v-for="(item, index) in items">
{{ index }}: {{ item }}
</li>
2. 객체 반복
data() {
return {
user: {
name: 'John',
age: 30,
city: 'New York'
}
}
}
<div v-for="(value, key) in user">
{{ key }}: {{ value }}
</div>
3. 숫자 반복
<span v-for="n in 10">{{ n }}</span>
5. key 속성의 중요성
<li v-for="item in items" :key="item">
{{ item }}
</li>
key속성은 Vue가 각 요소를 고유하게 식별하는 데 사용됩니다.- 배열의 순서가 변경될 때 성능 최적화에 도움이 됩니다.
6. 학습 포인트
- 배열 반복 렌더링
- 인덱스 활용
- 객체 반복
- key 속성의 역할
- 반응성과의 연동
7. 테스트 방법
1. 기본 동작 테스트
- 페이지를 열어서 리스트가 정상적으로 렌더링되는지 확인
- 각 항목이 올바른 순서로 표시되는지 확인
2. 콘솔에서 테스트
// 현재 items 배열 확인
console.log(app.items)
// 새로운 항목 추가
app.items.push('item4')
// 배열 순서 변경
app.items.reverse()
// 배열 필터링
app.items = app.items.filter(item => item.includes('item'))
3. 추가 테스트 케이스
// 객체 배열 테스트
data() {
return {
users: [
{ name: 'John', age: 30 },
{ name: 'Jane', age: 25 },
{ name: 'Bob', age: 35 }
]
}
}
<li v-for="user in users">
{{ user.name }} ({{ user.age }})
</li>
4. 동적 데이터 변경 테스트
// 배열 초기화
app.items = []
// 새로운 배열 할당
app.items = ['new1', 'new2', 'new3']
// 배열 중간에 항목 삽입
app.items.splice(1, 0, 'inserted')
5. 성능 테스트
// 대량의 데이터로 테스트
app.items = Array.from({length: 1000}, (_, i) => `item${i}`)'[개발] Vue.js > 기본' 카테고리의 다른 글
| Vue의 Component 통신 방식 - 1. Props (0) | 2025.06.18 |
|---|---|
| Vue의 Component 등록과 사용 (0) | 2025.06.18 |
| Vue의 메서드(method) 사용하기 (1) | 2025.06.16 |
| Vue의 반응성(Reactivity) 시스템 이해하기 (0) | 2025.06.16 |
| 첫 Vue 앱 만들기 (hello world) (0) | 2025.06.16 |