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