MODULE V01 — EXERCICES

Exercices Introduction Vue 3

Pratique les bases de Vue 3 : createApp, data, interpolation, v-bind, v-on et v-model.

10 exercices Validation automatique Solutions téléchargeables (.js)
EX 1

createApp — Créer une application Vue

Tâche : Crée une application Vue 3 avec createApp() montée sur #app. Elle doit afficher un message "Bonjour Vue 3 !" via interpolation.

EX 2

mount() — Monter sur un élément DOM

Tâche : Crée une app Vue et monte-la sur un élément avec un sélecteur CSS. Utilise .mount('#mon-composant') ou un autre sélecteur valide.

EX 3

data() — Définir des données réactives

Tâche : Dans createApp(), définis l'option data() comme une fonction qui retourne un objet avec au moins 3 propriétés (prenom, age, estConnecte).

EX 4

Interpolation {{ }} — Afficher des données

Tâche : Dans le template HTML, utilise {{ }} pour afficher une variable, une expression arithmétique et une expression ternaire.

EX 5

v-bind (:) — Lier un attribut dynamiquement

Tâche : Utilise :src, :href et :disabled pour lier des attributs HTML à des données Vue.

EX 6

v-on (@click) — Réagir à un clic

Tâche : Crée un compteur avec un bouton @click. Le clic doit appeler une méthode qui incrémente le compteur.

EX 7

v-model basique — Liaison bidirectionnelle

Tâche : Crée un <input> avec v-model="prenom" et affiche en temps réel "Bonjour {{ prenom }} !" sous l'input.

EX 8

Méthodes — Définir et appeler une méthode

Tâche : Définis dans methods une fonction ajouter(valeur) qui accepte un argument. Appelle-la depuis deux boutons avec @click="ajouter(1)" et @click="ajouter(5)".

EX 9

Computed property — Propriété calculée

Tâche : À partir d'un prixHT (input), définis deux computed properties : tva (20%) et prixTTC. Affiche les trois valeurs.

EX 10

Options API complète — data + methods + computed

Tâche : Crée une app complète avec : data (prenom, age), methods (incrementerAge, reinitialiser), computed (estMajeur, messageStatut). Utilise v-model, @click et {{ }} dans le template.

← Retour cours V01 ▶ Mini-projet V01 Suivant → V02