nuxt logo

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

<NuxtErrorBoundary>

O componente <NuxtErrorBoundary> lida com erros do lado do cliente que ocorrem em seu slot padrão.

O <NuxtErrorBoundary> utiliza o hook onErrorCaptured do Vue internamente.

Eventos

  • @error: Evento emitido quando o slot padrão do componente lança um erro.

    <template>
      <NuxtErrorBoundary @error="logSomeError">
        <!-- ... -->
      </NuxtErrorBoundary>
    </template>
    

Slots

  • #error: Especifica um conteúdo de fallback para exibir em caso de erro.

      <template>
        <NuxtErrorBoundary>
          <!-- ... -->
          <template #error="{ error, clearError }">
            <p>Ocorreu um erro: {{ error }}</p>
    
            <button @click="clearError">Limpar erro</button>
          </template>
        </NuxtErrorBoundary>
      </template>
    
Veja também getting-started > error-handling

Exemplos

Acessando error e clearError no script

Você pode acessar as propriedades error e clearError dentro do script do componente como abaixo:

<template>
  <NuxtErrorBoundary ref="errorBoundary">
    <!-- ... -->
  </NuxtErrorBoundary>
</template>

<script setup lang="ts">
const errorBoundary = useTemplateRef('errorBoundary')

// errorBoundary.value?.error
// errorBoundary.value?.clearError()
</script>