Vue3报错Cannot convert undefined or null to object问题及解决
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合并时,就不会导致这样的错误,如果存在键重复的情况是否会报其他错误?
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
vue中的vue-router query方式和params方式详解
这篇文章主要介绍了vue中的vue-router query方式和params方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-08-08
Vue keepAlive实现不同的路由共用一个组件component的缓存问题(推荐)
这篇文章主要介绍了Vue keepAlive实现不同的路由共用一个组件component的缓存问题,实现方式使用Vue keepAlive实现页面缓存,需要的朋友可以参考下2022-08-08
axios请求头设置常见Content-Type和对应参数的处理方式
这篇文章主要介绍了axios请求头设置常见Content-Type和对应参数的处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-03-03


最新评论