Vuejs2 访问Nuxt错误页中的原始错误对象

Vuejs2 访问Nuxt错误页中的原始错误对象,vuejs2,nuxt.js,Vuejs2,Nuxt.js,如上所述,Nuxt.js error页面被传递一个error属性,该属性可用于找出错误并显示适当的内容 但是,传递的错误对象类似于: { message:"Cannot read property 'nonexistentThing' of undefined", statusCode:"TypeError" } 我想在错误页面(点击错误报告API)上采取行动,理想情况下,该页面可以访问底层错误对象,包括回溯等 有什么办法可以做到这一点吗 从错误页面访问此项;或 制作一个插件,在Nu

如上所述,Nuxt.js error页面被传递一个
error
属性,该属性可用于找出错误并显示适当的内容

但是,传递的错误对象类似于:

{
  message:"Cannot read property 'nonexistentThing' of undefined",
  statusCode:"TypeError"
}
我想在错误页面(点击错误报告API)上采取行动,理想情况下,该页面可以访问底层错误对象,包括回溯等

有什么办法可以做到这一点吗

  • 从错误页面访问此项;或
  • 制作一个插件,在Nuxt自己的错误处理过程中拦截错误

虽然我没有找到访问底层错误对象的方法,但我在nuxt中找到了这个错误方法,您可以在其中抛出异常,该异常最终显示在nuxt的错误页面中。您可以在上下文对象()中访问此错误方法

包含异常的示例错误可能是:

export default {
  asyncData ({ params, error }) {
    return axios.get(`https://my-api/posts/${params.id}`)
      .then((res) => {
        return { title: res.data.title }
      })
      .catch((e) => {
        error({ statusCode: 404, message: 'Post not found', myError: e })
      })
  }
}
这样,您就可以像这样处理错误页面中的异常

<template>
  <div class="container">
    <h1 v-if="error.statusCode === 404">Page not found</h1>
    <h1 v-else>An error occurred</h1>
    <nuxt-link to="/">Home page</nuxt-link>
  </div>
</template>

<script>
export default {
  props: ['error'],
  mounted() {
    const { statusCode, message, myError } = this.error;
    // send myError to error-reporting API
  }
}
</script>

找不到页面
发生了一个错误
主页
导出默认值{
道具:['error'],
安装的(){
const{statusCode,message,myError}=this.error;
//将myError发送到错误报告API
}
}

谢谢–我认为这肯定很有用。但是,我认为它对我的用例不起作用,因为我事先不知道错误会发生在哪里,所以我不知道在哪里调用
error()