Page traduite Le contenu de cette page peut être déprécié.
La propriété loading
Nuxt utilise son propre composant pour montrer une barre de progression lors de la navigation entre les routes. On peut le personnaliser, le désactiver ou même créer le notre.
-
Type:
Boolean
ouObject
ouString
export default {
mounted() {
this.$nextTick(() => {
this.$nuxt.$loading.start()
setTimeout(() => this.$nuxt.$loading.finish(), 500)
})
}
}
Désactiver la barre de progression
-
Type:
Boolean
nuxt.config.js
export default {
loading: false
}
Personnaliser la barre de progression
-
Type:
Object
export default {
loading: {
color: 'blue',
height: '5px'
}
}
Voici la liste des propriétés que vous pouvez utiliser pour personnaliser la barre de progression.
Propriété | Type | Défaut | Description |
---|---|---|---|
color |
String | 'black' |
Couleur CSS de la barre de progression |
failedColor |
String | 'red' |
Couleur CSS de la barre de progression lors d'une erreur lors du render d'une route (ex: de la data ou un fetch ont échoué). |
height |
String | '2px' |
Hauteur de la barre de progression (utilisé dans la propriété style de la barre de progression) |
throttle |
Number | 200 |
En millisecondes, le temps a attendre avant que la barre de navigation ne soit affichée. Utile pour éviter de créer des flashs. |
duration |
Number | 5000 |
En millisecondes, la durée maximum de la barre de progression, Nuxt assume que la route sera render en moins de 5 secondes. |
continuous |
Boolean | false |
Continuer d'animer la barre de progression lorsque le chargement prends plus de temps que la valeur de la propriété duration . |
css |
Boolean | true |
Définir à false pour enlever tous les styles appliqués à la barre de progression (y compris les vôtres). |
rtl |
Boolean | false |
Définit la direction de la barre de progression, de droite à gauche. |
Utiliser un composant de chargement personnalisé
-
Type:
String
Votre composant devra fournir certaines des méthodes suivantes:
Méthode | Requis | Description |
---|---|---|
start() |
Requis | Appelé lors d'un changement de route, c'est à ce moment là que vous affichez votre composant. |
finish() |
Requis | Appelé lorsqu'une route est chargée (et la data collectée), c'est à ce moment là que vous cachez votre composant. |
fail(error) |
Optionnel | Appelé lorsqu'une de vos routes n'a pas pu être chargée (ex: le chargement de la data a échoué) |
increase(num) |
Optionnel | Appelé durant le chargement du composant de la route, num est un Integer < 100. |
components/loading.vue
<template lang="html">
<div class="loading-page" v-if="loading">
<p>Chargement...</p>
</div>
</template>
<script>
export default {
data: () => ({
loading: false
}),
methods: {
start() {
this.loading = true
},
finish() {
this.loading = false
}
}
}
</script>
<style scoped>
.loading-page {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(255, 255, 255, 0.8);
text-align: center;
padding-top: 200px;
font-size: 30px;
font-family: sans-serif;
}
</style>
nuxt.config.js
export default {
loading: '~/components/loading.vue'
}
Editer cette page sur GitHub
Mise à jour le lun. 19 août 2024
Sébastien Chopin
Nazaré da Piedade
Nobu
川音리오
Maciek Palmowski
Nestor Vera
Daniel Roe
Yue Yang
Jeronimas
Clément Ollivier
Alexander Lichter
N3-rd
Adrien Zaganelli
Mag
Stefan Huber
Olga Bulat
Paiva
Florian Reuschel
Savas Vedova
HIJACK
Vinícius Alves
Kareem Dabbeet
Valentín Costa
Ryan Skinner
Alex Hirzel
Ajeet Chaulagain
René Eschke
Nico Devs
Muhammad
Naoki Hamada
Tom
Yann Aufray
Anthony Chu
Nuzhat Minhaz
Lucas Portet
Richard Schloss
Bobby
bpy
Antony Konstantinidis
Hibariya
Jose Seabra
Eze
Florian Lefebvre
Lucas Recoaro
Julien SEIXAS