Vue3 Cannot convert undefined or null to object
1、报错信息2、问题排查备份Template里面的标记,排除是因为模板语法导致的如果不是模板里的问题,那么很大概率就是js里出现的问题, 可能是在组件创建的时候,也可能是在组件创建完成,执行相关生命周期函数的时候导致的问题,比如created,mounted等,把created和mounted函数里执行的相关代码注释,发现还是报错,那比较大的可能性就是在extend:Base这一块,结合报错内容,
·
1、报错信息
在vue3,vue-cli5的环境中,出现 "Cannot convert undefined or null to object " 的报错信息,报错截图如下:
2、问题排查
- 备份Template里面的标记,排除是因为模板语法导致的
- 如果不是模板里的问题,那么很大概率就是js里出现的问题, 可能是在组件创建的时候,也可能是在组件创建完成,执行相关生命周期函数的时候导致的问题,比如created,mounted等,把created和mounted函数里执行的相关代码注释,发现还是报错,那比较大的可能性就是在extend:Base这一块,结合报错内容,可能是存在什么undefine或者null的对象转换,比较大的可能是基类组件的属性和继承组件的属性合并过程中,导致这个错误
控制台没有打印'page created',说明组件并没有创建成功
3、问题定位
如果按照存在undefine或者null转换为对象的问题,因为基类组件的方法不多,问题就很好定位了,只有data()里是空的,基类执行合并的时候,data()作为应该返回一个数据对象,而此处返回的是undefine或者null,于是在合并的时候就报了这个问题
4、解决方法
在data()里返回一个对象,这样在基类组件的data和继承组件的data合并时,就不会导致这样的错误,如果存在键重复的情况是否会报其他错误?
更多推荐
已为社区贡献1条内容
所有评论(0)