nuxt logo

Tradução da Documentação (Não Oficial)

useLazyAsyncData

Este wrapper em torno de useAsyncData aciona a navegação imediatamente.

Descrição

Por padrão, useAsyncData bloqueia a navegação até que seu manipulador assíncrono seja resolvido. useLazyAsyncData fornece um wrapper em torno de useAsyncData que aciona a navegação antes que o manipulador seja resolvido, definindo a opção lazy como true.

useLazyAsyncData tem a mesma assinatura que useAsyncData.

Veja também api > composables > use-async-data

Exemplo

pages/index.vue
<script setup lang="ts">
/* A navegação ocorrerá antes que a busca seja concluída.
  Lide com os estados 'pending' e 'error' diretamente no template do seu componente
*/
const { status, data: count } = await useLazyAsyncData('count', () => $fetch('/api/count'))

watch(count, (newCount) => {
  // Como count pode começar como nulo, você não terá acesso
  // ao seu conteúdo imediatamente, mas pode observá-lo.
})
</script>

<template>
  <div>
    {{ status === 'pending' ? 'Loading' : count }}
  </div>
</template>

useLazyAsyncData é um nome de função reservado transformado pelo compilador, então você não deve nomear sua própria função como useLazyAsyncData.

Veja também getting-started > data-fetching