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