Vue是如何监听组件的报错的

当我们开发完成上线之后 我们要怎么监听Vue组件的报错呢?
我们有三种方式,可以根据自己的业务逻辑来进行搭配使用

第一 监听下级组件的报错 errorCaptured 如果你返回值是false的话 就不会向上面传播

我们在一个组件中 写了一个报错
在这里插入图片描述

我们在App.vue中进行一个监听报错

 // 监听下级组件的错误 返回 false会阻止向上传播
  errorCaptured: (error, vm, info) => {
    // error vm组件实列 info错误信息
    console.log("errorCaptured-----", error, vm, info);
    return false;
  },

在这里插入图片描述

2、errorHandler 监听全局的Vue组件报错 如果是errorCaptured返回了 false那么就不会触发到这个
同样是上面的操作
我们在main.js中配置一下全局的

Vue.config.errorHandler = (error, vm, info) => {
  console.log("errorHandler---------", error, vm, info);
}

在这里插入图片描述
3、如果我们要监听异步的报错 那么就使用window.onerror来监听,上面两个是无法监听到异步的报错的
我们在组件中写一个异步的报错

 mounted() {
    setTimeout(() => {
      this.num();
    }, 1000);
  },

然后我们在App.vue中mounted生命周期监听一个 window.error

  mounted() {
    window.onerror = (mes, source, line, column, error) => {
      // mes 报错信息, source 那个文件, line 第几行, column 第几列, error 错误的对象
      console.info("window.onerror-------", mes, source, line, column, error);
    };
  },
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值