当我使用nuxt部署通用应用程序时,我注意到抛出异常的客户端$ axios请求只是将错误代码返回到控制台。有没有办法让nuxt重定向到我们在layouts文件夹中指定的error.vue?我似乎只能通过在服务器端调用context.error
方法来访问此页面。
我已经按照以下方式进行处理:
async submit (evt) {
try {
const { data } = await this.$axios.get(`some/url`)
...
} catch (e) {
throw new Error(e) // assume, for the sake of argument, that the error is: { 'statusCode': 403, 'message': 'Forbidden' }
}
}
您应该可以通过$nuxt
实用程序在客户端访问相同的错误方法。工作原理完全相同,因此您可能会引发如下错误:
$nuxt.error({ statusCode: 404 })
在catch
中,您可以通过]将用户重定向到错误页面>
return this.$nuxt.error({ statusCode: 404, message: 'err message' })
并且在
error.vue
页面中,您可以使用error
属性访问它,例如:
<h1>{{ error.statusCode }}</h1>
<h2>{{ error.message }} </h2>