Condiciones en bucles en Vue
Al iterar elementos con bucles
se pueden aplicar condiciones.
Pero las directivas v-for y v-if
deben escribirse en diferentes etiquetas,
de lo contrario habrá un conflicto. Para evitar
el conflicto, la directiva v-for
se aplica a la etiqueta template,
y la directiva v-if - directamente
a la etiqueta insertada.
Veamos un ejemplo. Supongamos que tenemos el siguiente array:
data() {
return {
arr: [1, 2, 3, 4, 5],
}
}
Iteremos este array con un bucle:
<template>
<ul>
<li v-for="elem in arr">
{{ elem }}
</li>
</ul>
</template>
Y ahora apliquemos una condición a los elementos mostrados:
<template>
<ul>
<template v-for="elem in arr">
<li v-if="elem % 2 === 0">
{{ elem }}
</li>
</template>
</ul>
</template>
Dado el siguiente array:
data() {
return {
items: [1, -2, 3, -4, 5],
}
}
Itera este array con un bucle y muestra solo los elementos positivos del array.