<NuxtErrorBoundary>

原始檔
<NuxtErrorBoundary> 元件處理其預設插槽中發生的客戶端錯誤。
<NuxtErrorBoundary> 在底層使用了 Vue 的onErrorCaptured鉤子。

事件

  • @error:當元件的預設插槽丟擲錯誤時發出的事件。
    <template>
      <NuxtErrorBoundary @error="logSomeError">
        <!-- ... -->
      </NuxtErrorBoundary>
    </template>
    

插槽

  • #error:指定在出現錯誤時顯示的備用內容。
    <template>
      <NuxtErrorBoundary>
        <!-- ... -->
        <template #error="{ error, clearError }">
          <p>An error occurred: {{ error }}</p>
    
          <button @click="clearError">
            Clear error
          </button>
        </template>
      </NuxtErrorBoundary>
    </template>
    
閱讀更多內容請參見 文件 > 4 X > 入門 > 錯誤處理

示例

在指令碼中訪問 errorclearError

你可以在元件的指令碼中訪問 errorclearError 屬性,如下所示

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

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

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