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 comokeys
que são usadas para buscar os dados. Este parâmetro é opcional. Todas as chaves deuseAsyncData
euseFetch
sã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