<NuxtErrorBoundary>
<NuxtErrorBoundary> 组件用于处理在其默认插槽中发生的客户端错误。
The
<NuxtErrorBoundary> 在底层使用了 Vue 的 onErrorCaptured 钩子。事件
@error:当组件的默认插槽抛出错误时触发的事件。app/app.vue<template> <NuxtErrorBoundary @error="logSomeError"> <!-- ... --> </NuxtErrorBoundary> </template>
插槽
#error:指定在发生错误时显示的备用内容。app/app.vue<template> <NuxtErrorBoundary> <!-- ... --> <template #error="{ error, clearError }"> <p>An error occurred: {{ error }}</p> <button @click="clearError"> Clear error </button> </template> </NuxtErrorBoundary> </template>
示例
在 Script 中访问 error 和 clearError
你可以在组件的 script 中访问 error 和 clearError 属性,如下所示
app/app.vue
<template>
<NuxtErrorBoundary ref="errorBoundary">
<!-- ... -->
</NuxtErrorBoundary>
</template>
<script setup lang="ts">
const errorBoundary = useTemplateRef('errorBoundary')
// errorBoundary.value?.error
// errorBoundary.value?.clearError()
</script>