VueJS - Rendering
Bonjour là, future superstar de Vue.js ! Je suis ravi de devenir votre guide sur ce voyage passionnant dans le monde du rendu de Vue.js. En tant que quelqu'un qui enseigne la programmation depuis des années, je peux vous assurer que maîtriser le rendu, c'est comme apprendre à peindre - c'est ainsi que nous donnons vie à nos toiles numériques ! Alors, mettons nos manches et plongeons dedans !
Rendu Conditionnel
Imaginez que vous êtes un magicien, et que vous voulez faire apparaître ou disparaître des choses sur votre page web d'un revers de main. C'est essentiellement ce que permet le rendu conditionnel dans Vue.js ! Il s'agit de montrer ou de cacher des éléments en fonction de certaines conditions.
Directive v-if
La directive v-if
est notre premier tour de magie. C'est comme un videur dans un club, décider qui entre et qui ne rentre pas.
<div id="app">
<h1 v-if="isVisible">Now you see me!</h1>
</div>
<script>
new Vue({
el: '#app',
data: {
isVisible: true
}
})
</script>
Dans cet exemple, l'élément <h1>
ne s'affichera que si isVisible
est true
. Si c'est false
, pouf ! L'élément disparaît entirely du DOM. Il n'est pas juste caché - il est parti, comme s'il n'avait jamais existé !
Directives v-else et v-else-if
Ajoutons maintenant un peu plus de magie à notre spectacle avec v-else
et v-else-if
:
<div id="app">
<div v-if="temperature < 0">Il fait glacial !</div>
<div v-else-if="temperature < 20">Il fait frais.</div>
<div v-else>Il fait chaud !</div>
</div>
<script>
new Vue({
el: '#app',
data: {
temperature: 25
}
})
</script>
Ici, nous créons un petit bulletin météo. En fonction de la valeur de temperature
, différents messages s'afficheront. C'est comme avoir plusieurs trappes sur une scène - seulement une peut être ouverte à la fois !
Directive v-show
Parfois, nous voulons être un peu plus discrets. Voici v-show
:
<div id="app">
<h1 v-show="isVisible">Je suis toujours là, mais parfois invisible !</h1>
</div>
<script>
new Vue({
el: '#app',
data: {
isVisible: true
}
})
</script>
Contrairement à v-if
, v-show
ne supprime pas l'élément du DOM. Il le cache simplement en utilisant CSS. Pensez-y comme à jeter un manteau d'invisibilité sur votre élément plutôt que de le faire disparaître complètement.
Rendu de Listes
Maintenant que nous avons maîtrisé comment faire apparaître et disparaître des choses, apprenons comment créer plusieurs éléments à partir d'un seul modèle. C'est là que le rendu de listes devient utile !
Directive v-for
La directive v-for
est comme une machine à copier magique. Elle prend un modèle et le duplique pour chaque élément dans un tableau ou un objet.
<div id="app">
<ul>
<li v-for="fruit in fruits">{{ fruit }}</li>
</ul>
</div>
<script>
new Vue({
el: '#app',
data: {
fruits: ['Apple', 'Banana', 'Cherry', 'Date']
}
})
</script>
Dans cet exemple, nous créons une liste de courses de fruits. La directive v-for
parcourt chaque fruit dans notre tableau fruits
et crée un nouvel élément <li>
pour chacun. C'est comme avoir une équipe de petits elfes, chacun écrivant le nom d'un fruit sur une nouvelle feuille de papier !
Utilisation de v-for avec un Objet
v-for
n'est pas seulement pour les tableaux - il fonctionne aussi avec les objets !
<div id="app">
<ul>
<li v-for="(value, key) in person">{{ key }}: {{ value }}</li>
</ul>
</div>
<script>
new Vue({
el: '#app',
data: {
person: {
name: 'Alice',
age: 28,
job: 'Développeur'
}
}
})
</script>
Ici, nous affichons des informations sur une personne. La directive v-for
parcourt chaque propriété de l'objet person
, créant un nouvel élément <li>
pour chaque paire clé-valeur.
v-for avec une Plage
Vous souhaitez créer un nombre spécifique d'éléments ? v-for
peut le faire aussi !
<div id="app">
<span v-for="n in 5">{{ n }} </span>
</div>
Cela affichera les nombres de 1 à 5. C'est comme demander à Vue de compter pour vous !
Attribut Key
Lorsque vous utilisez v-for
, il est important de donner à chaque élément rendu un key
unique. Cela aide Vue à suivre quels éléments ont changé, ont été ajoutés ou ont été supprimés.
<div id="app">
<ul>
<li v-for="fruit in fruits" :key="fruit.id">
{{ fruit.name }}
</li>
</ul>
</div>
<script>
new Vue({
el: '#app',
data: {
fruits: [
{ id: 1, name: 'Apple' },
{ id: 2, name: 'Banana' },
{ id: 3, name: 'Cherry' }
]
}
})
</script>
Pensez à la key
comme une étiquette de nom pour chaque élément. Elle aide Vue à identifier qui est qui lorsque la liste change.
Tableau des Méthodes
Voici un tableau pratique résumant les méthodes que nous avons apprises :
Directive | But | Exemple |
---|---|---|
v-if | Rendre conditionnellement un élément | <div v-if="isVisible">Bonjour</div> |
v-else | Fournir une alternative lorsque v-if est faux | <div v-else>Adieu</div> |
v-else-if | Fournir des conditions supplémentaires | <div v-else-if="isSpecial">Spécial</div> |
v-show | Basculer la visibilité d'un élément | <div v-show="isVisible">Toujours dans le DOM</div> |
v-for | Rendre une liste d'items | <li v-for="item in items">{{ item }}</li> |
Et voilà, mes étudiants avides ! Nous avons couvert les bases du rendu dans Vue.js. Souvenez-vous, la pratique rend parfait, donc n'ayez pas peur d'expérimenter avec ces concepts. Bientôt, vous rendrez des composants Vue.js comme un pro, créant des pages web dynamiques et interactives qui impressionneront vos utilisateurs. Continuez à coder, continuez à apprendre, et surtout, continuez à vous amuser !
Credits: Image by storyset