大佬教程收集整理的这篇文章主要介绍了Vue不能观察到数组length的变化,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
由于 JavaScript 的限制,Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue
当你修改数组的长度时,例如:vm.items.length = newLength
因为vue的响应式是通过 Object.defineProperty 来实现的,但是数组的length属性是不能添加getter和setter,所有无法通过观察length来判断。
如下代码,虽然看起来数组的length是10,但是for in的时候只能遍历出0,1,2,导致了只有前三个索引被加上了getter 和setter
显示的给length赋值,索引3-9的对应的value也会赋值undefined // 但是索引3-9的key都是没有值的 // 我们可以用for-in打印,只会打印0,2 for (var key in a) { console.log(key) // 0,2 }以上是大佬教程为你收集整理的Vue不能观察到数组length的变化全部内容,希望文章能够帮你解决Vue不能观察到数组length的变化所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。