Vue.js中如何解决v-for运行错误问题

发布时间:2022-05-22 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Vue.js中如何解决v-for运行错误问题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

Vue.js中解决v-for运行错误的方法:1、修改Vue框架代码;2、强制不给空数据的元素生成dom节点;3、每个对象都有一个唯一ID的属性,便可以使用【track-by】特性给Vue一个提示。

Vue.js中如何解决v-for运行错误问题

本教程操作环境:windows10系统、vue2.9,本文适用于所有品牌的脑。

【相关文章推荐:vue.js】

Vue.js中解决v-for运行错误的方法:

方案

从报错信息Uncaught TyPEError: Cannot read PRoperty 'removeChild' of null可知,之所以发生这个问题是因为在null的对象上执行了removeChild。

修改Vue框架代码,将这里的代码:

Vue.js中如何解决v-for运行错误问题

改为

Vue.js中如何解决v-for运行错误问题

▲方案二

深入地分析,为什么el.parentNode会是null,通过上面重现的步骤发现,当that.model.test_arr = ["","4","","5","6",""]这段代码设置发生后,v-for产生的dom节点之后3个,而不是5个,这种情况下el.parentNode就是不存在的,所以产生了第二种解决方案,强制不给空数据的元素生成dom节点。

Vue.js中如何解决v-for运行错误问题

▲方案三

问题并不算是满解决,正常的情况下框架应该具有鲁棒性,适应不同的使用场景,不应该出现js报错的问题,所以还有深入研究下去的必要。

在Vue中针对v-for指令有一个track-by的可选配置:

▪无track-by情况:数据修改时,无论值是否被修改,dom都被重新渲染。

▪有track-by情况:数据修改时,不变数据所在的dom不被重新渲染,已改变的数据所在dom才被重新渲染。

因为 v-for 默认通过数据对象的特征来决定对已有作用域和 DOM 元素的复用程度,这可能导致重新渲染整个列表。但是,如果每个对象都有一个唯一 ID 的属性,便可以使用 track-by 特性给 Vue 一个提示,Vue因而能尽可能地复用已有实例。所以就有了第三种解决方案。

Vue.js中如何解决v-for运行错误问题

相关免费学习推荐:JavaScript(视频)

以上就是Vue.js中如何解决v-for运行错误问题的详细内容,更多请关注脚本宝典其它相关文章!

脚本宝典总结

以上是脚本宝典为你收集整理的Vue.js中如何解决v-for运行错误问题全部内容,希望文章能够帮你解决Vue.js中如何解决v-for运行错误问题所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:Vue.js