refreshNuxtData
Atualizar todas ou específicas instâncias de asyncData no Nuxt
refreshNuxtData é usado para buscar novamente todas ou específicas instâncias de asyncData, incluindo aquelas de useAsyncData, useLazyAsyncData, useFetch e useLazyFetch.
Se o seu componente estiver em cache por <KeepAlive> e entrar em um estado desativado, o asyncData dentro do componente ainda será buscado novamente até que o componente seja desmontado.
Tipo
refreshNuxtData(keys?: string | string[])
Parâmetros
keys: Uma única string ou um array de strings comokeysque são usadas para buscar os dados. Este parâmetro é opcional. Todas as chaves deuseAsyncDataeuseFetchsão buscadas novamente quando nenhumakeysé especificada explicitamente.
Valores de Retorno
refreshNuxtData retorna uma promessa, resolvendo quando todas ou específicas instâncias de asyncData forem atualizadas.
Exemplos
Atualizar Todos os Dados
O exemplo abaixo atualiza todos os dados sendo buscados usando useAsyncData e useFetch na aplicação 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">
Refetch All Data
</button>
</div>
</template>
Atualizar Dados Específicos
O exemplo abaixo atualiza apenas os dados onde a chave corresponde a count e user.
<script setup lang="ts">
const refreshing = ref(false)
async function refresh () {
refreshing.value = true
try {
// você também pode passar um array de chaves para atualizar múltiplos dados
await refreshNuxtData(['count', 'user'])
} finally {
refreshing.value = false
}
}
</script>
<template>
<div v-if="refreshing">
Loading
</div>
<button @click="refresh">Refresh</button>
</template>
Se você tiver acesso à instância de asyncData, é recomendado usar seu método refresh ou execute como a maneira preferida de buscar novamente os dados.
※Esta página é uma tradução não oficial da documentação oficial do Nuxt.js.
A página correspondente na documentação oficial está aqui:
https://nuxt.com/docs/3.x/api/utils/refresh-nuxt-data