Vue : construire une application web (école d'ingénieur) · Chapitre 7 · Application directe du cours
Un interrupteur
Communication entre composants · niveau 1 (application)
Énoncé
Écrire un composant InterrupteurOption, utilisable avec v-model sur un booléen, qui affiche un bouton de rôle switch : son texte vient d'un emplacement, suivi de « ● oui » ou « ○ non ». Le parent affiche « Emballage : oui (+ 2 €) » ou « Emballage : non ».
Corrigé
<script setup>
const actif = defineModel({ type: Boolean, default: false });
</script>
<template>
<button
type="button"
role="switch"
:aria-checked="actif"
class="interrupteur"
@click="actif = !actif"
>
<slot />
<span aria-hidden="true">{{ actif ? " ● oui" : " ○ non" }}</span>
</button>
</template>
Avant et après un clic (valeur de aria-checked, puis texte de la page) :
avant : false | Emballage cadeau ○ non
Emballage : non
après un clic : true | Emballage cadeau ● oui
Emballage : oui (+ 2 €)
Le rôle switch et aria-checked disent aux lecteurs d'écran qu'il s'agit d'un interrupteur et dans quel état il est ; les ronds sont décoratifs (aria-hidden).
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.