useLoadingIndicator
Este composable te da acceso al estado de carga de la página de la aplicación.
Descripción
Un composable que devuelve el estado de carga de la página. Utilizado por <NuxtLoadingIndicator> y controlable.
Se conecta a page:loading:start y page:loading:end para cambiar su estado.
Parámetros
duration: Duración de la barra de carga, en milisegundos (por defecto2000).throttle: Limitar la aparición y ocultación, en milisegundos (por defecto200).estimatedProgress: Por defecto, Nuxt retrocede a medida que se acerca al 100%. Puedes proporcionar una función personalizada para personalizar la estimación del progreso, que es una función que recibe la duración de la barra de carga (arriba) y el tiempo transcurrido. Debe devolver un valor entre 0 y 100.
Propiedades
isLoading
- tipo:
Ref<boolean> - descripción: El estado de carga
error
- tipo:
Ref<boolean> - descripción: El estado de error
progress
- tipo:
Ref<number> - descripción: El estado de progreso. De
0a100.
Métodos
start()
Establece isLoading a true y comienza a aumentar el valor de progress. start acepta una opción { force: true } para omitir el intervalo y mostrar el estado de carga inmediatamente.
set()
Establece el valor de progress a un valor específico. set acepta una opción { force: true } para omitir el intervalo y mostrar el estado de carga inmediatamente.
finish()
Establece el valor de progress a 100, detiene todos los temporizadores e intervalos y luego restablece el estado de carga 500 ms después. finish acepta una opción { force: true } para omitir el intervalo antes de que se restablezca el estado, y { error: true } para cambiar el color de la barra de carga y establecer la propiedad de error a true.
clear()
Utilizado por finish(). Limpia todos los temporizadores e intervalos utilizados por el composable.
Ejemplo
const { progress, isLoading, start, finish, clear } = useLoadingIndicator({
duration: 2000,
throttle: 200,
// Así es como se calcula el progreso por defecto
estimatedProgress: (duration, elapsed) => (2 / Math.PI * 100) * Math.atan(elapsed / duration * 100 / 50)
})
const { start, set } = useLoadingIndicator()
// igual que set(0, { force: true })
// establece el progreso a 0 y muestra la carga inmediatamente
start({ force: true })※Esta página es una traducción no oficial de la documentación oficial de Nuxt.js.
La página correspondiente en la documentación oficial está aquí:
https://nuxt.com/docs/3.x/api/composables/use-loading-indicator