Vue에서 루프 내 조건문
루프를 통해 요소를 순회할 때
조건을 적용할 수 있습니다.
그러나 v-for와 v-if 디렉티브는
서로 다른 태그에 작성해야 하며,
그렇지 않으면 충돌이 발생합니다. 디렉티브 간 충돌을 피하기 위해
v-for 디렉티브는
template 태그에 적용하고,
v-if 디렉티브는 직접
삽입되는 태그에 적용합니다.
예제를 통해 살펴보겠습니다. 다음과 같은 배열이 있다고 가정해 봅시다:
data() {
return {
arr: [1, 2, 3, 4, 5],
}
}
이 배열을 루프로 순회해 보겠습니다:
<template>
<ul>
<li v-for="elem in arr">
{{ elem }}
</li>
</ul>
</template>
이제 표시되는 요소에 조건을 적용해 보겠습니다:
<template>
<ul>
<template v-for="elem in arr">
<li v-if="elem % 2 === 0">
{{ elem }}
</li>
</template>
</ul>
</template>
다음 배열이 주어졌습니다:
data() {
return {
items: [1, -2, 3, -4, 5],
}
}
이 배열을 루프로 순회하고 배열의 양수 요소만 출력하세요.