Guide
Essentiel
- Installation
- Introduction
- Instance de Vue
- Syntaxe de template
- Propriétés calculées et observateurs
- Liaisons de classes et de styles
- Rendu conditionnel
- Rendu de liste
- Gestion des évènements
- Liaisons sur les champs de formulaire
- Composants
Composants en détail
- Création de composants
- Props
- Évènements personnalisés
- Slots
- Composants dynamiques et asynchrones
- Gérer les cas limites
Transitions & animation
- Transitions d'entrée, de sortie et de liste
- Transitions d'état
Réutilisabilité & composition
- Mixins
- Directives personnalisées
- Fonctions de rendu et JSX
- Plugins
- Filtres
Outils
- Composants monofichiers
- Testing
- Support de TypeScript
- Déploiement en production
Évolutions
- Routage
- Gestion de l'état
- Rendu côté serveur
- Security
Mécanismes
- Réactivité en détail
Migration
- Migration depuis Vue 1.x
- Migration depuis Vue Router 0.7.x
- Migration depuis Vuex 0.6.x à 1.0
Meta
- Comparaison avec les autres frameworks
- Rejoignez la communauté Vue.js !
- Rencontrer l'équipe
You’re browsing the documentation for v2.x and earlier. For v3.x, click here.
Liaisons de classes et de styles
Un besoin classique de la liaison de données est la manipulation de la liste des classes d’un élément, ainsi que ses styles en ligne. Puisque ce sont tous deux des attributs, il est possible d’utiliser v-bind
pour les gérer : il faut simplement générer une chaine de caractère avec nos expressions. Cependant la concaténation de chaine de caractères est fastidieuse et source d’erreur. Pour cette raison, Vue fournit des améliorations spécifiques quand v-bind
est utilisé avec class
et style
. En plus des chaines de caractères, l’expression peut évaluer des objets ou des tableaux.
Liaison de Classes HTML
Syntaxe Objet
Il est possible de passer un objet à v-bind:class
pour permuter les classes automatiquement :
|
La syntaxe ci-dessus signifie que la classe active
sera présente si la propriété isActive
est considérée comme vraie.
Vous pouvez permuter plusieurs classes en ayant plus de champs dans l’objet. De plus, la directive v-bind:class
peut aussi coexister avec l’attribut class
. Donc, avec le template suivant :
|
Et les données suivantes :
|
Le rendu sera :
|
Quand isActive
ou hasError
change, la liste des classes sera mise à jour en conséquence. Par exemple, si hasError
devient true
, la liste des classes deviendra "static active text-danger"
.
L’objet lié n’a pas besoin d’être déclaré dans l’attribut :
|
|
Ceci rendra le même résultat. Il est également possible de lier une propriété calculée qui retourne un objet. C’est une méthode courante et puissante :
|
|
Syntaxe Tableau
Il est possible de passer un tableau à v-bind:class
pour appliquer une liste de classes :
|
|
Ce qui rendra :
|
Si vous voulez permuter une classe de la liste en fonction d’une condition, vous pouvez le faire avec une expression ternaire :
|
Ceci appliquera toujours la classe errorClass
, mais appliquera activeClass
uniquement quand isActive
vaut true
.
En revanche, cela peut être un peu verbeux si vous avez plusieurs classes conditionnelles. C’est pourquoi il est aussi possible d’utiliser la syntaxe objet dans la syntaxe tableau :
|
Avec des Composants
Cette section suppose la connaissance de Vue Composants. N’hésitez pas à l’ignorer et y revenir plus tard.
Quand vous utilisez l’attribut class
sur un composant personnalisé, ces classes seront ajoutées à l’élément à la racine du composant. Les classes présentes sur cet élément ne seront pas réécrites.
Par exemple, si vous déclarez ce composant :
|
Puis ajoutez quelques classes quand vous l’utilisez :
|
Le rendu HTML sera :
|
C’est aussi vrai pour la liaison de classe :
|
Quand la propriété isActive
est évaluée à vrai, le rendu HTML sera :
|
Liaison de Styles HTML
Syntaxe objet
La syntaxe objet pour v-bind:style
est assez simple - cela ressemble presque à du CSS, sauf que c’est un objet JavaScript. Vous pouvez utiliser camelCase ou kebab-case (utilisez des apostrophes avec kebab-case) pour les noms des propriétés CSS :
|
|
C’est souvent une bonne idée de lier directement un objet de style, pour que le template soit plus propre :
|
|
Encore une fois, la syntaxe objet est souvent utilisée en conjonction avec des propriétés calculées retournant des objets.
Syntaxe tableau
La syntaxe tableau pour v-bind:style
permet d’appliquer plusieurs objets de style à un même élément.
|
Préfixage automatique
Quand vous utilisez une propriété CSS qui nécessite un préfixe vendeur dans v-bind:style
, par exemple transform
, Vue le détectera automatiquement, et ajoutera les préfixes appropriés aux styles appliqués.
Valeurs multiples
2.3.0+
Introduit dans la 2.3.0+, vous pouvez fournir de multiples valeurs de préfixes à une propriété style, par exemple :
|
Ceci rendra uniquement la dernière valeur dans le tableau supportée par le navigateur. Dans cet exemple, cela rendra display: flex
pour les navigateurs qui supportent la version sans préfixe de flexbox.