Skip to content

Commit 003a548

Browse files
authored
docs: update Essentials section to setup (composition api) (#2647)
1 parent c81aa79 commit 003a548

18 files changed

+553
-643
lines changed

docs/fr/guide/essentials/a-crash-course.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ Si nous exécutons ce test, il échouera. Modifions `TodoApp.vue` pour avoir les
113113
<script setup>
114114
import { ref } from 'vue'
115115
116-
const newTodo = ref(''),
116+
const newTodo = ref('')
117117
const todos = ref([
118118
{
119119
id: 1,

docs/fr/guide/essentials/conditional-rendering.md

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,20 @@ Cet article est également disponible sous la forme d'une [courte vidéo](https:
88

99
L'une des fonctionnalités les plus basiques de Vue est la capacité d'insérer et de supprimer dynamiquement des éléments avec `v-if`. Voyons comment tester un composant qui utilise `v-if`.
1010

11-
```js
12-
const Nav = {
13-
template: `
14-
<nav>
15-
<a id="profile" href="/profile">Mon Profil</a>
16-
<a v-if="admin" id="admin" href="/admin">Administration</a>
17-
</nav>
18-
`,
19-
data() {
20-
return {
21-
admin: false,
22-
};
23-
},
24-
};
11+
```vue
12+
<!-- Nav.vue -->
13+
<script setup>
14+
import { ref } from 'vue'
15+
16+
const admin = ref(false)
17+
</script>
18+
19+
<template>
20+
<nav>
21+
<a id="profile" href="/profile">Mon Profil</a>
22+
<a v-if="admin" id="admin" href="/admin">Administration</a>
23+
</nav>
24+
</template>
2525
```
2626

2727
Dans le composant `<Nav>`, un lien vers le profil de l'utilisateur est affiché. De plus, si la valeur `admin` est à `true`, nous affichons un lien vers la section administrateur. Il y a trois scénarios dont le comportement doit être vérifié&nbsp;:
@@ -99,22 +99,22 @@ Parfois, vous ne voulez que masquer/afficher un élément tout en le conservant
9999

100100
Voici à quoi ressemble un composant avec `v-show`&nbsp;:
101101

102-
```js
103-
const Nav = {
104-
template: `
105-
<nav>
106-
<a id="user" href="/profile">Mon Profil</a>
107-
<ul v-show="shouldShowDropdown" id="user-dropdown">
108-
<!-- dropdown content -->
109-
</ul>
110-
</nav>
111-
`,
112-
data() {
113-
return {
114-
shouldShowDropdown: false,
115-
};
116-
},
117-
};
102+
```vue
103+
<!-- Nav.vue -->
104+
<script setup>
105+
import { ref } from 'vue'
106+
107+
const shouldShowDropdown = ref(false)
108+
<script>
109+
110+
<template>
111+
<nav>
112+
<a id="user" href="/profile">Mon Profil</a>
113+
<ul v-show="shouldShowDropdown" id="user-dropdown">
114+
<!-- dropdown content -->
115+
</ul>
116+
</nav>
117+
</template>
118118
```
119119

120120
Dans ce scénario, l'élément n'est pas visible, mais toujours rendu dans le DOM. `get()` ou `find()` retournera toujours un `Wrapper` - `find()` avec `.exists()` retournera toujours `true` - car **l'élément est toujours dans le DOM**.

docs/fr/guide/essentials/easy-to-test.md

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,21 @@ La règle de base est qu'**un test ne devrait pas échouer lors d'une refonte de
3131
Par exemple, supposons qu'il existe un composant de compteur de base qui comporte un bouton pour incrémenter un compteur&nbsp;:
3232

3333
```vue
34+
<!-- Counter.vue -->
35+
<script setup>
36+
import { ref } from 'vue'
37+
38+
const count = ref(0)
39+
40+
const increment = () => {
41+
count.value++
42+
}
43+
</script>
44+
3445
<template>
3546
<p class="paragraph">Nombre de clicks: {{ count }}</p>
3647
<button @click="increment">Incrémenter</button>
3748
</template>
38-
39-
<script>
40-
export default {
41-
data() {
42-
return { count: 0 };
43-
},
44-
methods: {
45-
increment() {
46-
this.count++;
47-
},
48-
},
49-
};
50-
</script>
5149
```
5250

5351
Nous pourrions écrire le test suivant&nbsp;:

docs/fr/guide/essentials/event-handling.md

Lines changed: 39 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,24 @@ Cet article est également disponible dans cette [courte video](https://www.yout
88

99
Voici un composant simple `<Counter>`. Il possède un bouton qui, lorsqu'il est cliqué, incrémente une variable et émet sa valeur.
1010

11-
```js
12-
const Counter = {
13-
template: '<button @click="handleClick">Incrémenter</button>',
14-
data() {
15-
return {
16-
count: 0,
17-
};
18-
},
19-
methods: {
20-
handleClick() {
21-
this.count += 1;
22-
this.$emit('increment', this.count);
23-
},
24-
},
25-
};
11+
```vue
12+
<!-- Counter.vue -->
13+
<script setup>
14+
import { ref } from 'vue'
15+
16+
const count = ref(0)
17+
18+
const emit = defineEmits(['increment'])
19+
20+
const handleClick = () => {
21+
count.value += 1
22+
emit('increment', count.value)
23+
}
24+
</script>
25+
26+
<template>
27+
<button @click="handleClick">Incrémenter</button>
28+
</template>
2629
```
2730

2831
Pour tester complètement ce composant, nous devrions vérifier qu'un événement `increment` avec la dernière valeur de `count` est émis.
@@ -90,25 +93,27 @@ Récapitulons et détaillons le retour de la fonction `emmitted()`. Chaque clé
9093

9194
Imaginons maintenant que notre composant `<Counter>` a besoin d'émettre un objet avec des informations supplémentaires. Par exemple, nous devons informer tout composant parent écoutant l'événement `@increment` si la valeur de `count` est paire ou impaire.
9295

93-
```js {12-15}
94-
const Counter = {
95-
template: `<button @click="handleClick">Incrémenter</button>`,
96-
data() {
97-
return {
98-
count: 0,
99-
};
100-
},
101-
methods: {
102-
handleClick() {
103-
this.count += 1;
104-
105-
this.$emit('increment', {
106-
count: this.count,
107-
isEven: this.count % 2 === 0,
108-
});
109-
},
110-
},
111-
};
96+
```vue
97+
<!-- Counter.vue -->
98+
<script setup>
99+
import { ref } from 'vue'
100+
101+
const count = ref(0)
102+
103+
const emit = defineEmits(['increment'])
104+
105+
const handleClick = () => {
106+
count.value += 1
107+
emit('increment', {
108+
count: count.value,
109+
isEven: count.value % 2 === 0,
110+
})
111+
}
112+
</script>
113+
114+
<template>
115+
<button @click="handleClick">Incrémenter</button>
116+
</template>
112117
```
113118

114119
Comme nous l'avons fait auparavant, nous devons déclencher l'événement `click` sur l'élément `<button>`. Ensuite, nous utilisons `emitted('increment')` pour nous assurer que les bonnes valeurs sont émises.
@@ -142,10 +147,6 @@ test('émet un évènement avec le compteur quand le boutton est cliqué', () =>
142147

143148
En testant des types complexes tels que des objets, cela ne diffère pas des tests de types primaires tels que des nombres ou des chaînes de caractères.
144149

145-
## API de Composition
146-
147-
Si vous utilisez l'API de Composition, vous devez appeler `context.emit()` à la place de `this.$emit()`. `emitted()` capture les événements de l'un ou l'autre, vous pouvez donc tester votre composant en utilisant les mêmes techniques décrites précédemment.
148-
149150
## Conclusion
150151

151152
- Utilisez `emitted()` pour accéder aux événements émis par un composant Vue.

0 commit comments

Comments
 (0)