vue 错误拦截

//系统错误捕获
const errorHandler = (error, vm) => {
  console.error('抛出全局异常');
  request({
    method: 'post',
    url: 'api/index/errorLogCollect',
    data: {
      k: getCookie("k"),
      time: new Date().getTime(),
      userip: returnCitySN["cip"],
      error: JSON.stringify(error)
    }
  }).then((res) => {
    console.log('logInfo', res)
  }).catch((err) => {
    console.log('logErr', err)
  })
}
Vue.config.errorHandler = errorHandler;
Vue.prototype.$throw = (error) => errorHandler(error, this);

在main.js中拦截,挂载vue原型:

如果需要在其他js中获取vue原型:

导入vue使用vue原型:

const $throw=Vue.prototype.$throw

注意:

一定要在Vue创建完后才可以正常使用,否则会为空的(获取不到挂载的原型链)

为了明天能幸福,今天付出再多也不后悔。
原文地址:https://www.cnblogs.com/zlp520/p/15138921.html