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:

javascriptdata() {
  return {
    arr: [1, 2, 3, 4, 5],
  }
}

Låt oss iterera över denna array med en loop:

html<template>
  <ul>
    <li v-for="elem in arr">
      {{ elem }}
    </li>
  </ul>
</template>

Och nu lägger vi ett villkor på de element som visas:

html<template>
  <ul>
    <template v-for="elem in arr">
      <li v-if="elem % 2 === 0">
        {{ elem }}
      </li>
    </template>
  </ul>
</template>
Задание 1

Följande array är given:

javascriptdata() {
  return {
    items: [1, -2, 3, -4, 5],
  }
}

Iterera över denna array med en loop och visa endast de positiva elementen i arrayen.