Instructions de boucle Vue.js
Dans Vue, les instructions de boucle sont principalement mises en œuvre via la directive v-for, utilisées pour parcourir des tableaux ou des objets, générant un nombre correspondant d'éléments.
Utilisez la directive v-for sur un élément pour afficher des éléments en boucle en fonction du tableau ou de l'objet de données source.
Itération sur un tableau :
v-for="(item, index) in items"
Itération sur un objet :
v-for="(value, key, index) in object"
Le rôle de keyUtilisation :
v-forLors du rendu d'une liste, vous devez fournir unkeyattribut unique, afin que Vue puisse reconnaître l'unicité de chaque élément et effectuer des mises à jour DOM efficaces.Boucles imbriquées: Plusieurs peuvent être imbriquées
v-forpour afficher des tableaux multidimensionnels ou des structures d'objets.
v-for peut lier des données à un tableau pour afficher une liste :
Exemple de v-for
<ol>
<li v-for="site in sites">
{{ site.text }}
</li>
</ol>
</div>
<script>
const app = {
data() {
return {
sites: [
{ text: 'Google' },
{ text: 'Example' },
{ text: 'Taobao' }
]
}
}
}
Vue.createApp(app).mount('#app')
</script>
Essayez-le vous-même »
v-for prend également en charge un deuxième paramètre facultatif, dont la valeur est l'index de l'élément actuel :
Exemple de v-for
index est la valeur d'index de l'élément de liste :
<ol>
<li v-for="(site, index) in sites">
{{ index }} -{{ site.text }}
</li>
</ol>
</div>
<script>
const app = {
data() {
return {
sites: [
{ text: 'Google' },
{ text: 'Example' },
{ text: 'Taobao' }
]
}
}
}
Vue.createApp(app).mount('#app')
</script>
Essayez-le vous-même »
Utilisation de v-for dans l'élément <template> :
v-for
Essayez-le vous-même »
v-for Itération sur les objets
v-for peut parcourir les données via les propriétés d'un objet :
v-for
Essayez-le vous-même »
Vous pouvez également fournir le deuxième paramètre en tant que nom de clé :
v-for
Essayez-le vous-même »
Le troisième paramètre est l'index :
v-for
Essayez-le vous-même »
v-for : itération sur des entiers
v-for peut aussi itérer sur des entiers
Affichage des résultats filtrés/triés
Nous pouvons traiter les éléments d'un tableau avant de les afficher. Généralement, nous pouvons créer une propriété calculée pour renvoyer le tableau filtré ou trié.
Exemple de v-for
Afficher les nombres pairs dans le tableau :
Essayez-le vous-même »
Utilisation conjointe de v-for/v-if
L'exemple ci-dessus utilise v-for/v-if ensemble pour définir une valeur par défaut pour le select :
Exemple v-for/v-if
v-for parcourt la liste, v-if définit la valeur sélectionnée :
Essayez-le vous-même »
Utilisation de v-for sur les composants
Si vous n'avez pas encore appris les composants, vous pouvez ignorer cette section.
Sur les composants personnalisés, vous pouvez utiliser v-for comme sur n'importe quel élément normal :
<my-component v-for="item in items" :key="item.id"></my-component>
Cependant, aucune donnée ne sera automatiquement transmise au composant, car le composant a sa propre portée indépendante. Pour transmettre les données itérées au composant, nous devons utiliser des props :
<my-component v-for="(item, index) in items" :item="item" :index="index" :key="item.id" ></my-component>
La raison pour laquelle item n'est pas automatiquement injecté dans le composant est que cela couplerait étroitement le composant au fonctionnement de v-for. Rendre explicite la source des données du composant permet de réutiliser le composant dans d'autres situations.
Voici un exemple complet d'une simple liste de tâches :
Exemple
Essayez-le vous-même »