vue.js v-for와 객체구문
v-for와 객체구문
v-for를 사용하여 객체의 속성을 반복할 수도 있습니다.
HTML부분
<ul id="v-for-object" class="demo">
<li v-for="value in object">
{{ vlaue }}
</li>
</ul>
JS부분
new Vue({
el: "#v-for-object",
data:{
object:{
firstName: "John",
lastName: "Doe",
age:30
}
}
})
키에 대한 두번째 전달 인자를 제공할 수도 있습니다.
HTML 부분
<div v-for="(value, key) in object">
{{key}} : {{value}}
</div>
그리고 또 인덱스도 제공합니다.
HTML 부분
<div v-for="(vlaue, key, index) in object">
{{index}.{{key}} : {{value}}
</div>
객체를 반복할 때 순서는 Object.keys()의 키 나열순서에 따라 결정됩니다.
이 순서는 javasript엔진 구현간에 일관적이지는 않습니다.
key
Vue가 v-for에서 렌더링된 엘리먼트 목록을 갱신할 때 기본적으로 "in-place patch"전략을
사용합니다. 데이터 항목의 순서가 변경된 경우 항목의 순서와 일치하도록 DOM요소를 이동하는
대신Vue는 각 요소를 적절한 위치에 패치하고 해당 인덱스에서 렌더링할 내용을 반영하는지
확인합니다. 이것은 Vue 1.x의 track-by=$index의 동작과 유사합니다.
이 기본 모드는 효율적이지만 목록의 출력 결과가 하위 컴포넌트 상태 또는 임시 DOM상태(예:폼 input)에
의존하지 않는 경우에 적합합니다.
Vue가 각 노드의 ID를 추적하고 기존 엘리먼트를 재사용하고 재정렬할 수 있도록 힌트를
제공하려면 각 항목에 고유한 key속성을 제공해야 합니다.
key에 대한 이상적인 값은 각 항목의 고유한 ID입니다.
이 특별한 속성은 1.x버전의 track-by와 거의 비슷하지만 속성처럼 작동하기 때문에
v-bind를 사용하여 동적 값에 바인딩 해야합니다.
게시판 목록
퍼블리셔팁
질문은 상단의 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 947 | CSS | 8년 전 | 1555 | ||
| 946 | CSS | 8년 전 | 2221 | ||
| 945 | CSS | 8년 전 | 1732 | ||
| 944 | CSS | 8년 전 | 2157 | ||
| 943 | CSS | 8년 전 | 2226 | ||
| 942 | CSS | 8년 전 | 2196 | ||
| 941 | CSS | 8년 전 | 2016 | ||
| 940 | CSS | 8년 전 | 1750 | ||
| 939 | CSS | 8년 전 | 2258 | ||
| 938 | CSS | 8년 전 | 1581 | ||
| 937 | CSS | 8년 전 | 1658 | ||
| 936 | CSS | 8년 전 | 1769 | ||
| 935 | CSS | 8년 전 | 2372 | ||
| 934 | CSS | 8년 전 | 2456 | ||
| 933 | CSS | 8년 전 | 1810 | ||
| 932 | CSS | 8년 전 | 2273 | ||
| 931 | CSS | 8년 전 | 1849 | ||
| 930 | CSS | 8년 전 | 1876 | ||
| 929 | CSS | 8년 전 | 1808 | ||
| 928 | CSS | 8년 전 | 1507 | ||
| 927 | CSS | 8년 전 | 1547 | ||
| 926 | CSS | 8년 전 | 3121 | ||
| 925 | CSS | 8년 전 | 2088 | ||
| 924 | CSS | 8년 전 | 1710 | ||
| 923 | CSS | 8년 전 | 2124 | ||
| 922 | CSS | 8년 전 | 2152 | ||
| 921 | CSS | 8년 전 | 2336 | ||
| 920 | CSS | 8년 전 | 1660 | ||
| 919 | CSS | 8년 전 | 2503 | ||
| 918 | CSS | 8년 전 | 1813 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기