vue.js - 通过客户端导航到 nuxt 错误页面?
问题描述
当我使用 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' }
}
}
解决方案
在您的catch
您可以通过以下方式将用户重定向到错误页面
return this.$nuxt.error({ statusCode: 404, message: 'err message' })
在您的error.vue
页面中,您可以使用error
以下道具访问它:
<h1>{{ error.statusCode }}</h1>
<h2>{{ error.message }} </h2>
推荐阅读
- vbscript - 测试是否存在 VBScript 命名参数
- ios - iOS:以编程方式检查设置 - 可访问性 - 音频描述属性
- docker - 带有副本的 Keycloak 和 Docker Swarm 重定向循环
- apache-kafka - Kafka Streams - 确保状态存储在生产和消费到/来自同一主题时是最新的
- javascript - 文件下载仅适用于 .txt .log .svg 但失败 .xlsx .xls .gif .docx 等
- android - 无法解析 androidx.databinding:databinding-compiler:3.5.3
- node.js - Node v13 / Jest / ES6 — 原生支持没有 babel 或 esm 的模块
- cypress - 我可以同时运行 Cypress open 和 cypress run 吗?
- php - 如何在codeignter 4中使用表单验证集规则
- macos - 在 Mac 上找不到使用 pip 安装的 Ansible