Перейдите на страницу ошибки nuxt через клиентскую часть? - PullRequest
0 голосов
/ 21 апреля 2020

Когда я развертываю универсальное приложение с nuxt, я замечаю, что запросы $ ax ios на стороне клиента, которые выдают исключение, просто возвращают код ошибки на консоль. Можно ли перенаправить nuxt к ошибке. 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' }
  }
}

Ответы [ 2 ]

1 голос
/ 22 апреля 2020

В вашей catch вы можете перенаправить пользователя на страницу ошибки с помощью

    return this.$nuxt.error({ statusCode: 404, message: 'err message' })

, а на вашей error.vue странице вы можете получить к ней доступ с помощью error prop, например:

<h1>{{ error.statusCode }}</h1>
<h2>{{ error.message }} </h2>
1 голос
/ 21 апреля 2020

У вас должен быть доступ к тому же методу ошибки на стороне клиента через утилиту $nuxt. Работает точно так же, поэтому вы можете выдать ошибку, например, такую:

$nuxt.error({ statusCode: 404 })

...