refreshNuxtData
Refrescar todas o específicas instancias de asyncData en Nuxt
refreshNuxtData
se utiliza para volver a obtener todas o específicas instancias de asyncData
, incluidas aquellas de useAsyncData
, useLazyAsyncData
, useFetch
y useLazyFetch
.
Si tu componente está en caché por <KeepAlive>
y entra en un estado desactivado, el asyncData
dentro del componente seguirá siendo obtenido nuevamente hasta que el componente sea desmontado.
Tipo
refreshNuxtData(keys?: string | string[])
Parámetros
keys
: Una sola cadena o un arreglo de cadenas comokeys
que se utilizan para obtener los datos. Este parámetro es opcional. Todas las claves deuseAsyncData
yuseFetch
se vuelven a obtener cuando no se especificankeys
explícitamente.
Valores de Retorno
refreshNuxtData
devuelve una promesa, que se resuelve cuando todas o específicas instancias de asyncData
han sido refrescadas.
Ejemplos
Refrescar Todos los Datos
Este ejemplo a continuación refresca todos los datos que se están obteniendo usando useAsyncData
y useFetch
en la aplicación Nuxt.
<script setup lang="ts">
const refreshing = ref(false)
async function refreshAll () {
refreshing.value = true
try {
await refreshNuxtData()
} finally {
refreshing.value = false
}
}
</script>
<template>
<div>
<button :disabled="refreshing" @click="refreshAll">
Refrescar Todos los Datos
</button>
</div>
</template>
Refrescar Datos Específicos
Este ejemplo a continuación refresca solo los datos donde la clave coincide con count
y user
.
<script setup lang="ts">
const refreshing = ref(false)
async function refresh () {
refreshing.value = true
try {
// también podrías pasar un arreglo de claves para refrescar múltiples datos
await refreshNuxtData(['count', 'user'])
} finally {
refreshing.value = false
}
}
</script>
<template>
<div v-if="refreshing">
Cargando
</div>
<button @click="refresh">Refrescar</button>
</template>
Si tienes acceso a la instancia de asyncData
, se recomienda usar su método refresh
o execute
como la forma preferida de volver a obtener los datos.
※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/utils/refresh-nuxt-data