由于 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

var a = [0, 1, 2]
a.length = 10
// 只是显示的给length赋值,索引3-9的对应的value也会赋值undefined
// 但是索引3-9的key都是没有值的
// 我们可以用for-in打印,只会打印0,1,2
for (var key in a) {
console.log(key) // 0,1,2
}

最新文章

  1. 带你实现开发者头条APP(三) 首页实现
  2. Android之使用Bundle进行IPC
  3. chromium 一些设置 --插件安装
  4. 数据结构(跳跃表):NOI 2004 郁闷的出纳员
  5. 武汉科技大学ACM:1007: 不高兴的津津
  6. js中的事件委托详解
  7. Spring Boot项目构建
  8. 有状态InheritableThreadLocal 配合 JDK8 ,异步方法调用
  9. IEnumerable对象的Distinct方法重写
  10. 第一讲 从头开始做一个web qq 机器人,第一步获取smart qq二维码
  11. 2802:小游戏利用bfs来实现
  12. SpringBoot------整合MyBatis
  13. CocosCreator内置函数实现物体拖动
  14. 64位Ubuntu下配置CP-ABE环境
  15. monkey配置及简单报告生成(安卓)
  16. java 集合排序
  17. jenkins+python+kubectl实现批量更新k8s镜像
  18. Python网络编程之socket应用
  19. 【Java】数组升序和降序
  20. selenium2 用selenium安装、加载、启用插件(一)

热门文章

  1. POJ 2484 A Funny Game 博弈论 对称博弈
  2. BZOJ 1221 [HNOI2001] 软件开发(费用流)
  3. 【可持久化数组】【rope】bzoj3673 bzoj3674 可持久化并查集 by zky
  4. PHP数组和数据结构(上)
  5. [转]web.xml中webAppRootKey
  6. Red Hat Enterprise Linux上配置SQL Server Always On Availability Group
  7. Visual Studio Code 安装 RUST
  8. 【Rocket MQ】RocketMQ4.2.0 和 spring boot的结合使用,实现分布式事务
  9. VUE -- 如何快速的写出一个Vue的icon组件?
  10. Android内存优化8 内存检测工具2 LeakCanary——直白的展现Android中的内存泄露