Vue : construire une application web (école d'ingénieur) · Chapitre 7 · Application directe du cours
Ce que devient v-model
Communication entre composants · niveau 1 (application)
Énoncé
Le composant ChampTitre déclare const titre = defineModel({ type: String, default: "" }); et lie son champ avec v-model="titre". Réécrire <ChampTitre v-model="titre" /> sans v-model, et vérifier que la page fonctionne de la même façon.
Corrigé
<script setup>
import { ref } from "vue";
import ChampTitre from "./ChampTitre.vue";
const titre = ref("Java");
</script>
<template>
<!-- Ce que <ChampTitre v-model="titre" /> devient -->
<ChampTitre
:model-value="titre"
@update:model-value="(valeur) => (titre = valeur)"
/>
<p>Titre : {{ titre }}</p>
</template>
Après avoir remplacé « Java » par « JavaScript » dans le champ, la page affiche :
Titre : JavaScript
Dans un gabarit de fichier .vue, la prop peut s'écrire :model-value ou :modelValue, et l'événement @update:model-value ou @update:modelValue : Vue accepte les deux formes.
100 % gratuit
La suite du chapitre est sur Adloun
- 9 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.