如何捕获Vue组件安装错误

时间:2019-01-27 17:09:26

标签: vue.js vue-component

我有一个用例,我需要自己实例化组件并手动安装它们。我想捕获实例化和安装错误,但我找不到方法。 我已经尝试了所有我能想到的一切,Vue.config.errorHandlervm.errrorHandlervm.errorCatcher(在父级上)……但没有丝毫希望。

我想知道为什么这不起作用?

try {
  const vm = new MyCustomComponent(); // this is having an error (no template for instance)
  vm.$mount();
} catch (e) {
  console.log(e); // this is never called
}

// manualy attaching the mounted component to the DOM myself afterward.

文档链接供参考:https://vuejs.org/v2/api/#vm-mount

编辑: 添加了一个小提琴:https://jsfiddle.net/2pzmn3ue/

1 个答案:

答案 0 :(得分:1)

如果查看Vue源代码,您会注意到这是一个警告-并非错误。因此,您应该使用Vue.config.warnHandler而不是errorHandler。您的处理程序将使用3个参数-警告消息,组件实例和组件跟踪(不是 stacktrace )。