Directive v-for de Vue3

Vue3 内置指令Vue3 Directives intégrées


v-forLa directive est utilisée pour afficher plusieurs fois des éléments en fonction des données source, et est la directive essentielle pour implémenter le rendu de liste dans Vue.


Description de base

v-forLa directive affiche à plusieurs reprises des éléments en fonction d'un tableau ou d'un objet. Elle vous permet d'afficher de façon répétée un groupe d'éléments similaires et d'utiliser les valeurs de la source de données.

  • Type attendu: Array | Object | number | string | Iterable
  • Fonction: Rendu de liste, affiche plusieurs fois des éléments en fonction des données source.

Syntaxe de base

Exemple

<!-- Itération de tableau -->
<li v-for="item in items">{{ item }}</li>

<!-- Itération avec index -->
<li v-for="(item, index) in items">{{ index }} - {{ item }}</li>

<!-- Itération d'objet -->
<li v-for="(value, key) in object">{{ key }}: {{ value }}</li>

<!-- Itération numérique -->
<li v-for="n in 5">{{ n }}</li>

Scénarios d'utilisation

1. Itération de tableau

Exemple

<template>
  <ul>
    <li v-for="(fruit, index) in fruits" :key="index">
      {{ index + 1 }}. {{ fruit }}
    </li>
  </ul>
</template>

<script>
export default {
  data() {
    return {
fruits: ['apple', 'banana', 'orange', 'grape']
    }
  }
}
</script>

2. Itération de tableau d'objets

Exemple

<template>
  <table>
    <tr v-for="person in people" :key="person.id">
      <td>{{ person.id }}</td>
      <td>{{ person.name }}</td>
      <td>{{ person.age }}</td>
    </tr>
  </table>
</template>

<script>
export default {
  data() {
    return {
      people: [
{ id: 1, name: 'Zhang San', age: 25 },
{ id: 2, name: 'Li Si', age: 30 }
      ]
    }
  }
}
</script>

L'importance de key

Dans v-for, il est fortement recommandé de fournir un attribut key unique pour chaque élément de boucle, ce qui aide Vue à mettre à jour la liste efficacement.

Exemple

<!-- Utiliser id comme key (recommandé) -->
<li v-for="item in items" :key="item.id">{{ item.name }}</li>

Vue3 内置指令Vue3 Directives intégrées

Autres extensions