【发布时间】:2021-10-31 12:03:04
【问题描述】:
export const state = () => ({
data: {}
})
export const getters = {
data: state => state.data
}
export const actions = {
getData ({ commit }) {
this.$axios('https://jsonplaceholder.typicode.com/todosx/1')
.then((response) => {
commit('SET_DATA', response.data)
})
.catch((err) => {
// Navigate to error page
})
}
}
export const mutations = {
SET_DATA (state, data) {
state.data = data
}
}
在 axios 的 catch 中捕获错误后,想从 Nuxt 商店 导航到错误页面。实现这一目标的最佳方法是什么?
【问题讨论】:
-
this.$router.push('/404')应该可以解决问题,因为它要么存在,要么将使用error布局,因为它无法到达页面。 -
顺便说一句,您可以在模板中使其更流畅并显示“此处无信息”而不是将用户移动到 404,您不觉得吗?
-
感谢您的回复。是的,想在此处显示自定义错误模板。因此,可以像在页面中一样发送类似 $nuxt.error({ statusCode: 404, message: 'err message' }) 的内容。我试图在商店里做同样的事情,但不知道该怎么做。