Vue   发布时间:2022-04-21  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Vue不能观察到数组length的变化大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

由于 JavaScript 的限制,Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue 当你修改数组的长度时,例如:vm.items.length = newLength

因为vue的响应式是通过 Object.defineProperty 来实现的,但是数组的length属性是不能添加getter和setter,所有无法通过观察length来判断。

为什么Vue不能观察到数组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,请注明来意。
标签:lengthvue