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
Copy file name to clipboardExpand all lines: docs/en/advanced/data-fetching.md
+18-19
Original file line number
Diff line number
Diff line change
@@ -1,24 +1,24 @@
1
-
# Data Fetching (En) <br><br> *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/vue-router).*
1
+
# La récupération de données
2
2
3
-
Sometimes you need to fetch data from the server when a route is activated. For example, before rendering a user profile, you need to fetch the user's data from the server. We can achieve this in two different ways:
3
+
Parfois vous avez besoin de récupérer des données depuis le serveur lorsqu'une route est activée. Par exemple, avant de faire le rendu d'un profil utilisateur, vous avez besoin de récupérer les données de l'utilisateur depuis le serveur. Nous pouvons y parvenir de deux façons différentes :
4
4
5
-
-**Fetching After Navigation**: perform the navigation first, and fetch data in the incoming component's lifecycle hook. Display a loading state while data is being fetched.
5
+
-**Récupération de donnée après la navigation** : effectue la navigation en premier, et récupère les données dans le hook entrant du cycle de vie d'un composant. Affiche un état de chargement pendant que les données sont en train d'être récupérées.
6
6
7
-
-**Fetching Before Navigation**: Fetch data before navigation in the route enter guard, and perform the navigation after data has been fetched.
7
+
-**Récupération de donnée avant la navigation** : récupère les données avant la navigation dans la fonction de sécurisation d'entrée de la route, et effectue la navigation après que les données aient été récupérées.
8
8
9
-
Technically, both are valid choices - it ultimately depends on the user experience you are aiming for.
9
+
Techniquement, les deux choix sont valides. Cela dépend de l'expérience utilisateur que vous souhaitez apporter.
10
10
11
-
## Fetching After Navigation
11
+
## Récupération de données après la navigation
12
12
13
-
When using this approach, we navigate and render the incoming component immediately, and fetch data in the component's `created`hook. It gives us the opportunity to display a loading state while the data is being fetched over the network, and we can also handle loading differently for each view.
13
+
En utilisant cette approche, nous naviguons et faisons immédiatement le rendu du composant et récupérons les données via le hook `created`du composant. Cela nous donne l'opportunité d'afficher un état de chargement pendant que les données sont récupérées à travers le réseau, et nous pouvons aussi gérer le chargement différemment pour chaque vue.
14
14
15
-
Let's assume we have a `Post`component that needs to fetch the data for a post based on`$route.params.id`:
15
+
Assumons que nous ayons un composant `Post`qui a besoin de récupérer des données pour un billet identifié par`$route.params.id`:
16
16
17
17
```html
18
18
<template>
19
19
<divclass="post">
20
20
<divclass="loading"v-if="loading">
21
-
Loading...
21
+
Chargement...
22
22
</div>
23
23
24
24
<divv-if="error"class="error">
@@ -43,19 +43,19 @@ export default {
43
43
}
44
44
},
45
45
created () {
46
-
//fetch the data when the view is created and the data is
47
-
//already being observed
46
+
//récupérer les données lorsque la vue est créée et
47
+
//que les données sont déjà observées
48
48
this.fetchData()
49
49
},
50
50
watch: {
51
-
//call again the method if the route changes
51
+
//appeler encore la méthode si la route change
52
52
'$route':'fetchData'
53
53
},
54
54
methods: {
55
55
fetchData () {
56
56
this.error=this.post=null
57
57
this.loading=true
58
-
//replace getPost with your data fetching util / API wrapper
58
+
//remplacer `getPost` par une fonction de récupération de données
59
59
getPost(this.$route.params.id, (err, post) => {
60
60
this.loading=false
61
61
if (err) {
@@ -69,10 +69,9 @@ export default {
69
69
}
70
70
```
71
71
72
-
## Fetching Before Navigation
72
+
## Récupération de données avant la navigation
73
73
74
-
With this approach we fetch the data before actually navigating to the new
75
-
route. We can perform the data fetching in the `beforeRouteEnter` guard in the incoming component, and only call `next` when the fetch is complete:
74
+
Avec cette approche, nous récupérerons les données avant de naviguer vers la nouvelle route. Nous pouvons effectuer la récupération de données dans la fonction de sécurisation `beforeRouteEnter` du composant à venir, et seulement appeler `next` lorsque la récupération est terminée :
76
75
77
76
```js
78
77
exportdefault {
@@ -87,8 +86,8 @@ export default {
87
86
next(vm=>vm.setData(err, post))
88
87
})
89
88
},
90
-
//when route changes and this component is already rendered,
91
-
//the logic will be slightly different.
89
+
//quand la route change et que ce composant est déjà rendu,
90
+
//la logique est un peu différente
92
91
beforeRouteUpdate (to, from, next) {
93
92
this.post=null
94
93
getPost(to.params.id, (err, post) => {
@@ -108,4 +107,4 @@ export default {
108
107
}
109
108
```
110
109
111
-
The user will stay on the previous view while the resource is being fetched for the incoming view. It is therefore recommended to display a progress bar or some kind of indicator while the data is being fetched. If the data fetch fails, it's also necessary to display some kind of global warning message.
110
+
L'utilisateur va rester sur la vue précédente pendant que la ressource est en train d'être récupérée pour la vue à venir. Il est cependant recommandé d'afficher une barre de progression ou un autre type d'indicateur pendant que les données sont en train d'être récupérées. Si la récupération échoue, il est aussi recommandé d'afficher une sorte de message d'erreur global.
0 commit comments