Translated page Contents of this page might be outdated.
A propriedade loading
O Nuxt usa o seu próprio componente para mostrar uma barra de progresso entre as rotas. Você pode personalizar ela, desativar ela ou criar o seu próprio componente.
-
Tipo:
Boolean
ouObject
ouString
export default {
mounted() {
this.$nextTick(() => {
this.$nuxt.$loading.start()
setTimeout(() => this.$nuxt.$loading.finish(), 500)
})
}
}
Desativar a Barra de Progresso
-
Tipo:
Boolean
nuxt.config.js
export default {
loading: false
}
Personalizado a Barra de Progresso
-
Tipo:
Object
export default {
loading: {
color: 'blue',
height: '5px'
}
}
Lista de propriedades para personalizar a barra de progresso.
Chave | Tipo | Valor Padrão | Descrição |
---|---|---|---|
color |
String | 'black' |
A cor de css da barra de progresso |
failedColor |
String | 'red' |
A cor de css da barra de progresso quando um erro é acrescentado enquanto estiver renderizando a rota (se por exemplo o data ou fetch enviou um erro). |
height |
String | '2px' |
Altura da barra de progresso (usada dentro da propriedade style da barra de progresso) |
throttle |
Number | 200 |
Em milissegundos, espera pelo tempo especificado antes da exibição da barra de progresso. Útil para prevenir a barra de cintilar. |
duration |
Number | 5000 |
Em milissegundos, a duração máxima da barra de progresso, o Nuxt assume que a rota será renderizada antes de 5 segundos. |
continuous |
Boolean | false |
Mantém animando a barra de progresso quando o carregamento demorar mais do que a duration (duração) . |
css |
Boolean | true |
Defina para false para remover os estilos padrão da barra de progresso (e adiciona o seu próprio estilo) |
rtl |
Boolean | false |
Define a direção da barra de progresso, da direita para esquerda. |
Usando um Componente de Carregamento Personalizado
-
Tipo:
String
O seu componente tem que expor alguns desses métodos:
Método | Obrigatório | Descrição |
---|---|---|
start() |
Obrigatório | Chamado quando uma rota muda, isto é, onde você exibe o seu componente. |
finish() |
Obrigatório | Chamado quando uma rota é carregada (e os dados requisitados), isto é, onde você esconde o seu componente. |
fail(error) |
Opcional | Chamado quando uma rota não pode ser carregada (falhou em requisitar os dados por exemplo). |
increase(num) |
Opcional | Chamado durante o carregamento do componente de rota, num é um Inteiro maior do que 100. |
components/loading.vue
<template lang="html">
<div class="loading-page" v-if="loading">
<p>Loading...</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'
}
Edit this page on GitHub
Updated at Wed, Jul 24, 2024
![Sébastien Chopin](/_nuxt/image/e847b9.png)
![Nazaré da Piedade](/_nuxt/image/d5c785.png)
![Nobu](/_nuxt/image/888ba6.png)
![川音리오](/_nuxt/image/345a82.png)
![Maciek Palmowski](/_nuxt/image/2bdab1.png)
![Nestor Vera](/_nuxt/image/b6ef28.png)
![Daniel Roe](/_nuxt/image/0786f3.png)
![Yue Yang](/_nuxt/image/40c994.png)
![Jeronimas](/_nuxt/image/ba9a98.png)
![Clément Ollivier](/_nuxt/image/77339c.png)
![Alexander Lichter](/_nuxt/image/073577.png)
![N3-rd](/_nuxt/image/20bdf5.png)
![Adrien Zaganelli](/_nuxt/image/c3f019.png)
![Mag](/_nuxt/image/1fe278.png)
![Stefan Huber](/_nuxt/image/c3653a.png)
![Olga Bulat](/_nuxt/image/e50af3.png)
![Paiva](/_nuxt/image/ea02f0.png)
![Florian Reuschel](/_nuxt/image/ee31ca.png)
![Savas Vedova](/_nuxt/image/d403a7.png)
![HIJACK](/_nuxt/image/d0b78e.png)
![Vinícius Alves](/_nuxt/image/ba75e5.png)
![Kareem Dabbeet](/_nuxt/image/c79dfa.png)
![Valentín Costa](/_nuxt/image/3dd0d7.png)
![Ryan Skinner](/_nuxt/image/ec2d86.png)
![Alex Hirzel](/_nuxt/image/980fb6.png)
![Ajeet Chaulagain](/_nuxt/image/2fb9d1.png)
![René Eschke](/_nuxt/image/ddfbaa.png)
![Nico Devs](/_nuxt/image/5fa1fe.png)
![Muhammad](/_nuxt/image/76bed9.png)
![Naoki Hamada](/_nuxt/image/475300.png)
![Tom](/_nuxt/image/aae9cc.png)
![Yann Aufray](/_nuxt/image/305a71.png)
![Anthony Chu](/_nuxt/image/027d85.png)
![Nuzhat Minhaz](/_nuxt/image/431077.png)
![Lucas Portet](/_nuxt/image/260cbe.png)
![Richard Schloss](/_nuxt/image/7f63ae.png)
![Bobby](/_nuxt/image/42cdae.png)
![bpy](/_nuxt/image/ecc096.png)
![Antony Konstantinidis](/_nuxt/image/1434b0.png)
![Hibariya](/_nuxt/image/febb5a.png)
![Jose Seabra](/_nuxt/image/ede04e.png)
![Eze](/_nuxt/image/f22c13.png)
![Florian Lefebvre](/_nuxt/image/e3705e.png)
![Lucas Recoaro](/_nuxt/image/8cdc5c.png)
![Julien SEIXAS](/_nuxt/image/40a795.png)