vue.js - 如何捕获 vue 组件安装错误
问题描述
我有一个用例,我需要自己实例化组件并手动安装它们。我想捕捉实例化和挂载错误,但我找不到方法。我已经尝试了几乎所有我能想到的东西Vue.config.errorHandler
,,,,vm.errrorHandler
(vm.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/
解决方案
如果您查看 Vue 源代码,您会注意到这是一个警告,而不是错误。所以你应该使用Vue.config.warnHandler
而不是errorHandler
. 您的处理程序将采用 3 个参数 - 警告消息、组件实例和组件跟踪(不是堆栈跟踪)。
推荐阅读
- c# - 如何在不创建新数组的情况下更改数组中元素的数量
- android - 作为系统应用程序运行时,Android 不允许执行本机库
- c++ - 错误:无法将“float”转换为“float*”作为参数
- angularjs - 角度 1.x 是否仍然相关
- php - 无法在 OneNote 共享笔记本中获取分区
- apache-spark - spark-submit 适用于 yarn-cluster 模式,但 SparkLauncher 不适用,具有相同的参数
- vba - Access 2016 中的 Dlookup 中的变量返回运行时错误 13 - 类型不匹配
- javascript - React:为什么将参数传递给处理程序不起作用?
- r - 为 glm 运行事后分析时出错
- javascript - 如何在谷歌操作中使用给定名称实体?