Nuxt 3 已于 31 July 2026 结束生命周期
此版本将不再接收错误修复或安全补丁。 升级到 Nuxt 4 或获取 HeroDevs 提供的延长支持

<NuxtErrorBoundary>

<NuxtErrorBoundary> 组件处理其默认插槽中发生的客户端错误。

Maschinelle Übersetzung ·0 % geprüft

<NuxtErrorBoundary> 在内部使用了 Vue 的 onErrorCaptured 钩子。

事件

  • @error:当组件的默认插槽抛出错误时触发的事件。

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

插槽

  • #error:指定发生错误时显示的备用内容。

    <template>
      <NuxtErrorBoundary>
        <!-- ... -->
        <template #error="{ error, clearError }">
          <p>发生了一个错误: {{ error }}</p>
    
          <button @click="clearError">清除错误</button>
        </template>
      </NuxtErrorBoundary>
    </template>
Weitere Informationen findest du unter Docs > Getting Started > Error Handling.

示例

在脚本中访问 error 和 clearError

你可以在组件的脚本中如下访问 error 和 clearError 属性:

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

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

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