You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<pclass="tip">**Cette page est en cours de traduction française. Revenez une autre fois pour lire une traduction achevée ou [participez à la traduction française ici](https://github.com/vuejs-fr/vuejs.org).**</p>In string templates, for example Handlebars, we would write a conditional block like this:
9
+
Dans les templates en chaîne de caractères, par exemple Handlebars, nous pouvons écrire une structure conditionnelle comme ceci :
10
10
11
11
```html
12
-
<!--Handlebars template-->
12
+
<!--Template de Handlebars-->
13
13
{{#if ok}}
14
-
<h1>Yes</h1>
14
+
<h1>Oui</h1>
15
15
{{/if}}
16
16
```
17
17
18
-
In Vue, we use the `v-if`directive to achieve the same:
18
+
Dans Vue, nous utilisons la directive `v-if`pour obtenir la même chose :
19
19
20
20
```html
21
-
<h1v-if="ok">Yes</h1>
21
+
<h1v-if="ok">Oui</h1>
22
22
```
23
23
24
-
It is also possible to add an "else" block with `v-else`:
24
+
Il est également possible d’ajouter une structure « sinon » avec `v-else`:
Because`v-if`is a directive, it has to be attached to a single element. But what if we want to toggle more than one element? In this case we can use`v-if`on a `<template>` element, which serves as an invisible wrapper. The final rendered result will not include the`<template>` element.
33
+
Comme`v-if`est une directive, elle doit être attachée à un seul élément. Mais comment faire si nous voulons permuter plusieurs éléments ? Dans ce cas, nous pouvons utiliser`v-if`sur un élément `<template>`, qui sert d'enveloppe invisible. Le résultat final rendu n’inclura pas l’élément`<template>`.
34
34
35
35
```html
36
36
<templatev-if="ok">
37
-
<h1>Title</h1>
38
-
<p>Paragraph 1</p>
39
-
<p>Paragraph 2</p>
37
+
<h1>Titre</h1>
38
+
<p>Paragraphe 1</p>
39
+
<p>Paragraphe 2</p>
40
40
</template>
41
41
```
42
42
43
43
### `v-else`
44
44
45
-
You can use the `v-else`directive to indicate an "else block" for `v-if`:
45
+
Vous pouvez utiliser la directive `v-else`pour indiquer une « structure sinon » pour `v-if`:
46
46
47
47
```html
48
48
<divv-if="Math.random() > 0.5">
49
-
Now you see me
49
+
Maintenant vous me voyez
50
50
</div>
51
51
<divv-else>
52
-
Now you don't
52
+
Maintenant vous ne me voyez pas
53
53
</div>
54
54
```
55
55
56
-
A `v-else`element must immediately follow a`v-if`or a `v-else-if`element - otherwise it will not be recognized.
56
+
Un élément `v-else`doit immédiatement suivre un élément`v-if`ou un élément `v-else-if`(sinon il ne sera pas reconnu).
57
57
58
58
### `v-else-if`
59
59
60
-
> New in 2.1.0
60
+
> Nouveau dans la 2.1.0
61
61
62
-
The`v-else-if`, as the name suggests, serves as an "else if block" for `v-if`. It can also be chained multiple times:
62
+
Le`v-else-if`, comme le nom le suggère, sert comme une « structure sinon si » pour `v-if`. Il peut également être enchaîné plusieurs fois :
63
63
64
64
```html
65
65
<divv-if="type === 'A'">
@@ -72,44 +72,44 @@ The `v-else-if`, as the name suggests, serves as an "else if block" for `v-if`.
72
72
C
73
73
</div>
74
74
<divv-else>
75
-
Not A/B/C
75
+
Ni A, ni B et ni C
76
76
</div>
77
77
```
78
78
79
-
Similar to`v-else`, a `v-else-if`element must immediately follow a`v-if`or a `v-else-if` element.
79
+
Semblable à`v-else`, un élément `v-else-if`doit immédiatement suivre un élément`v-if`ou un élément `v-else-if`.
80
80
81
-
### Controlling Reusable Elements with`key`
81
+
### Contrôle des éléments réutilisables avec`key`
82
82
83
-
Vue tries to render elements as efficiently as possible, often re-using them instead of rendering from scratch. Beyond helping make Vue very fast, this can have some useful advantages. For example, if you allow users to toggle between multiple login types:
83
+
Vue tente de restituer les éléments aussi efficacement que possible, en les réutilisant souvent au lieu de faire de la restitution à partir de zéro. En plus de permettre à Vue d'être très rapide, cela peut avoir quelques avantages utiles. Par exemple, si vous autorisez les utilisateurs à choisir entre plusieurs types de connexion :
84
84
85
85
```html
86
86
<templatev-if="loginType === 'username'">
87
-
<label>Username</label>
88
-
<inputplaceholder="Enter your username">
87
+
<label>Nom d'utilisateur</label>
88
+
<inputplaceholder="Entrez votre nom d'utilisateur">
89
89
</template>
90
90
<templatev-else>
91
91
<label>Email</label>
92
-
<inputplaceholder="Enter your email address">
92
+
<inputplaceholder="Entrez votre adresse email">
93
93
</template>
94
94
```
95
95
96
-
Then switching the `loginType`in the code above will not erase what the user has already entered. Since both templates use the same elements, the`<input>`is not replaced - just its `placeholder`.
96
+
Le fait de changer de `loginType`dans le code ci-dessus n'effacera pas ce que l'utilisateur a déjà saisi. Puisque les deux templates utilisent les mêmes éléments, le`<input>`n'est pas remplacé (juste son `placeholder`).
97
97
98
-
Check it out for yourself by entering some text in the input, then pressing the toggle button:
98
+
Vérifiez-le par vous-même en entrant un texte dans la zone de saisie, puis en appuyant sur le bouton de permutation :
99
99
100
100
{% raw %}
101
101
<divid="no-key-example"class="demo">
102
102
<div>
103
103
<template v-if="loginType === 'username'">
104
-
<label>Username</label>
105
-
<input placeholder="Enter your username">
104
+
<label>Nom d'utilisateur</label>
105
+
<input placeholder="Entrez votre nom d'utilisateur">
<button @click="toggleLoginType">Changer de type de connexion</button>
113
113
</div>
114
114
<script>
115
115
newVue({
@@ -126,34 +126,34 @@ new Vue({
126
126
</script>
127
127
{% endraw %}
128
128
129
-
This isn't always desirable though, so Vue offers a way for you to say, "These two elements are completely separate - don't re-use them." Just add a `key`attribute with unique values:
129
+
Ce n’est pas toujours souhaitable cependant, c'est pourquoi Vue vous offre un moyen de dire, « Ces deux éléments sont complètement distincts - ne les réutilise pas. ». Ajoutez juste un attribut `key`avec des valeurs uniques :
130
130
131
131
```html
132
132
<templatev-if="loginType === 'username'">
133
133
<label>Username</label>
134
-
<inputplaceholder="Enter your username"key="username-input">
134
+
<inputplaceholder="Entrez votre nom d'utilisateur"key="username-input">
135
135
</template>
136
136
<templatev-else>
137
137
<label>Email</label>
138
-
<inputplaceholder="Enter your email address"key="email-input">
<button @click="toggleLoginType">Changer de type de connexion</button>
157
157
</div>
158
158
<script>
159
159
newVue({
@@ -170,30 +170,30 @@ new Vue({
170
170
</script>
171
171
{% endraw %}
172
172
173
-
Note that the `<label>`elements are still efficiently re-used, because they don't have `key` attributes.
173
+
Remarquez que les éléments `<label>`sont encore réutilisés efficacement, car ils n'ont pas d'attributs `key`.
174
174
175
175
## `v-show`
176
176
177
-
Another option for conditionally displaying an element is the `v-show` directive. The usage is largely the same:
177
+
Une autre option pour afficher conditionnellement un élément est la directive `v-show`. L'utilisation est en grande partie la même :
178
178
179
179
```html
180
-
<h1v-show="ok">Hello!</h1>
180
+
<h1v-show="ok">Bonjour !</h1>
181
181
```
182
182
183
-
The difference is that an element with `v-show`will always be rendered and remain in the DOM; `v-show`simply toggles the `display`CSS property of the element.
183
+
La différence est qu'un élément avec `v-show`sera toujours restitué et restera dans le DOM; `v-show`permute simplement la propriété CSS `display`de l'élément.
184
184
185
-
<pclass="tip">Note that `v-show` doesn't support the `<template>` syntax, nor does it work with `v-else`.</p>
185
+
<pclass="tip">Notez que `v-show` ne prend pas en charge la syntaxe de `<template>` et ne fonctionne pas avec `v-else`.</p>
186
186
187
187
## `v-if` vs `v-show`
188
188
189
-
`v-if`is "real" conditional rendering because it ensures that event listeners and child components inside the conditional block are properly destroyed and re-created during toggles.
189
+
`v-if`est un « vrai » rendu conditionnel car il garantit que les écouteurs d'événements et les composants enfants à l'intérieur de la structure conditionnelle sont correctement détruits et recréés lors des permutations.
190
190
191
-
`v-if`is also**lazy**: if the condition is false on initial render, it will not do anything - the conditional block won't be rendered until the condition becomes true for the first time.
191
+
`v-if`est également**paresseux** : si la condition est fausse sur le rendu initial, il ne fera rien (la structure conditionnelle sera rendue quand la condition sera vraie pour la première fois).
192
192
193
-
In comparison, `v-show`is much simpler - the element is always rendered regardless of initial condition, with just simple CSS-based toggling.
193
+
En comparaison, `v-show`est beaucoup plus simple (l’élément est toujours rendu indépendamment de la condition initiale, avec juste une simple permutation basée sur du CSS).
194
194
195
-
Generally speaking, `v-if`has higher toggle costs while `v-show`has higher initial render costs. So prefer`v-show`if you need to toggle something very often, and prefer `v-if`if the condition is unlikely to change at runtime.
195
+
D'une manière générale, `v-if`a des coûts à la permutations plus élevés alors que `v-show`a des coûts au rendu initial plus élevés. Donc préférez`v-show`si vous avez besoin de permuter quelque chose très souvent et préférez `v-if`si la condition ne change probablement pas à l'exécution.
196
196
197
-
## `v-if`with`v-for`
197
+
## `v-if`avec`v-for`
198
198
199
-
When used together with `v-for`, `v-for`has a higher priority than `v-if`. See the <ahref="../guide/list.html#V-for-and-v-if">list rendering guide</a> for details.
199
+
Lorsqu’il est conjointement utilisé avec `v-for`, `v-for`a une priorité plus élevée que `v-if`. Consultez le <ahref="../guide/list.html#V-for-and-v-if">guide du rendu de liste</a> pour plus de détails.
0 commit comments