할머니의 콤퓨타 도전기
[Vue.js] v-for 리스트 렌더링 본문
- 코드 구현
- v-for의 두번째 인자는 index이다.
- Vue에서 개별 DOM 노드들을 추적하고 기존 엘리먼트를 재사용, 재정렬하기 위해서 v-for의 각 항목들에 고유한 key 속성을 제공해야 함.
- 그러나 key 속성을 index로 주는 것은 올바르지 않다.
- key는 고유한 값을 가져야하는데 index로 key를 지정할 경우 리스트 원소의 삭제나 추가 있을 경우에 값이 바뀌게 된다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vue Study</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="app">
<div>
{{people[0].name}} {{people[0].age}}
</div>
<div>
{{people[1].name}} {{people[1].age}}
</div>
<div>
{{people[2].name}} {{people[2].age}}
</div>
<hr>
<div v-for="(person,index) in people" :key="id">
{{person.name}} {{person.age}} {{index}}
</div>
</div>
<script>
new Vue({
el: '#app',
data: {
people: [
{ id: 1, name: 'a', age: 20 },
{ id: 2, name: 'b', age: 21 },
{ id: 3, name: 'c', age: 22 },
{ id: 4, name: 'd', age: 23 }
]
},
})
</script>
</body>
</html>
- 실행 화면
'Web Front-end > Vue.js' 카테고리의 다른 글
[Vue.js] Vue 컴포넌트 (Component) (0) | 2020.10.28 |
---|---|
[Vue.js] 여러개의 Vue 인스턴스 사용하기 (0) | 2020.10.28 |
[Vue.js] v-if 와 v-show (0) | 2020.10.28 |
[Vue.js] Watch 속성 (0) | 2020.10.28 |
[Vue.js] Computed 속성 (0) | 2020.10.28 |
Comments