Villkor i loopar i Vue
När man itererar över element med loopar
kan man lägga på villkor.
Men direktiven v-for och v-if
måste skrivas på olika taggar,
annars uppstår en konflikt. För att undvika
konflikt tillämpas direktivet v-for
på taggen template,
och direktivet v-if - direkt
på taggen som infogas.
Låt oss titta på ett exempel. Antag att vi har följande array:
data() {
return {
arr: [1, 2, 3, 4, 5],
}
}
Låt oss iterera över denna array med en loop:
<template>
<ul>
<li v-for="elem in arr">
{{ elem }}
</li>
</ul>
</template>
Och nu lägger vi ett villkor på de element som visas:
<template>
<ul>
<template v-for="elem in arr">
<li v-if="elem % 2 === 0">
{{ elem }}
</li>
</template>
</ul>
</template>
Följande array är given:
data() {
return {
items: [1, -2, 3, -4, 5],
}
}
Iterera över denna array med en loop och visa endast de positiva elementen i arrayen.