typeerror cannot read property(TypeError: Cannot read properties of null (reading ‘insertBefore‘) vue项目报错)
本地无论怎么样都不会报错 ,但是部署到服务器之后 ,切换到某个路由之后再切换路由之后就疯狂报错 ,百思不得其解 ,网上搜了一下说是主要又三个原因造成 ,粘贴一段我搜索到的 ,我觉得说的也很有道理 ,但是并不能解决我的问题 。
1 、v-if 导致
在 v-if 值为 false 时 ,如果操作了 v-if 控制的 DOM ,可能会因为该 DOM 元素不存在而报错 。
解决方案:v-show 替换 v-if
2 、el-dialog 组件导致
默认弹框是关闭的,DOM中没有弹框中的内容 。打开弹框再关闭后 ,弹框中的 DOM 元素没有被销毁 ,可能会因为不该存在的 DOM 元素而报错(我的报错就是由此导致) 。
解决方案:给 el-dialog 组件增加 destroy-on-close 属性
3 、el-table 组件导致
el-table-column渲染时报错,若 scope.row.field(field为任意字段值)不存在 ,对其直接执行 length 、toString() 等方法而报错 。
解决方案:scope.row.field?.length
————————————————
版权声明:本文为CSDN博主「李小苶」的原创文章 ,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明 。
原文链接:https://blog.csdn.net/qq_26834399/article/details/123826764之后我把每一块代码注掉部署注掉部署之后发现是我的table有问题 ,跟他说的第三个原因好像是同一个 ,原来是我在template中调用了方法格式化数据 ,但是这个数据可能不存在 ,在这里进行兼容处理一下就解决了
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!