Vue : construire une application web (école d'ingénieur) · Chapitre 2 · Application directe du cours
Cases sans clé
Gabarits et directives · niveau 2
Énoncé
Une liste sans :key affiche trois livres, chacun avec une case à cocher que Vue ne gère pas. On coche « Analyse », puis on clique sur « Retirer le premier ». Quelle case est cochée ? Et avec :key="livre" ?
<div id="app">
<ul>
<li v-for="livre in livres">
<label><input type="checkbox"> {{ livre }}</label>
</li>
</ul>
<button type="button" @click="livres.shift()">Retirer le premier</button>
</div>
const { createApp, ref } = Vue;
createApp({
setup() {
const livres = ref(["Java", "Analyse", "Petit Prince"]);
return { livres };
},
}).mount("#app");Corrigé
Sans clé, après le retrait :
[ ] Analyse
[x] Petit Prince
Vue a supprimé le dernier élément du DOM et changé le texte des deux premiers : la case cochée, restée sur la deuxième ligne, accompagne maintenant « Petit Prince ». Avec :key="livre" (avec-cle.html), Vue supprime l'élément de « Java » et la coche reste sur « Analyse » :
[x] Analyse
[ ] Petit Prince
Le titre lui-même sert de clé, car il est unique dans cette liste ; avec des objets, on prendrait leur identifiant.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.