Condiții în bucle în Vue
La iterarea elementelor cu bucle
se pot impune condiții.
Dar directivele v-for și v-if
trebuie scrise pe tag-uri diferite,
altfel va exista un conflict. Pentru a evita
conflictul, directiva v-for
se aplică pe tag-ul template,
iar directiva v-if - direct
pe tag-ul inserat.
Să ne uităm la un exemplu. Să presupunem că avem următorul array:
data() {
return {
arr: [1, 2, 3, 4, 5],
}
}
Să iterăm acest array cu o buclă:
<template>
<ul>
<li v-for="elem in arr">
{{ elem }}
</li>
</ul>
</template>
Și acum să impunem o condiție asupra elementelor afișate:
<template>
<ul>
<template v-for="elem in arr">
<li v-if="elem % 2 === 0">
{{ elem }}
</li>
</template>
</ul>
</template>
Este dat următorul array:
data() {
return {
items: [1, -2, 3, -4, 5],
}
}
Iterați acest array cu o buclă și afișați doar elementele pozitive ale array-ului.