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