<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>
示例
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>