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
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 }
vue 不能监测数组长度变化length的原因相关推荐
- JS全排列bug数组长度属性length和实际显示长度不相符
@JS全排列bug数组长度属性length和实际显示长度不相符 function permutation(arr) {let arr1 = [].concat(arr);let result = [] ...
- Java中二维数组长度(length)
二维数组中 数组名.length 是返回二维数组的行数 数组名[行下标].length 是返回二维数组该行的列数 实例: 定义一个二维数组并赋值 int b[][] = new int[][] {{1 ...
- 函数中使用sizeof(arr) / sizeof(arr[0])求数组长度不正确的原因
参考文章:c中自定义函数通过sizeof来输出数组的长度为何不正确?[原创] 错误原因 我们可以使用sizeof(arr) / sizeof(arr[0])求数组长度,但是要注意:sizeof()函数 ...
- 为什么defineProperty不能检测到数组长度的“变化”
目录 对象的属性类型 数组长度与索引 vue对数组方法的hack 属性类型 我们知道对象是一个无序属性集合,创建一个包含属性的对象有3种方式: 构造函数 字面量 defineProperty var ...
- jq linux获取数组长度,数组长度用size还是length
数组长度用length属性.length是js的原生方法,可获取元素的个数和对象的长度:而size()函数是jQuery方法,只能作用于对象上,用于返回当前jQuery对象封装的元素个数.获取一个数组 ...
- Java-Runoob-高级教程-实例-数组:03. Java 实例 – 获取数组长度-*
ylbtech-Java-Runoob-高级教程-实例-数组:03. Java 实例 – 获取数组长度 1.返回顶部 Java 实例 - 获取数组长度 Java 实例 本文我们将为大家介绍如何使用数 ...
- vue中通过arr.length获取数组长度报错:Error in render: “TypeError: Cannot read property ‘length‘ of undefined“
刚开始是通过arr.length获取数组长度的! 结果控制台报错: Error in render: "TypeError: Cannot read property 'length' of ...
- vue中检测对象和数组值变化的问题
今天工作中遇到改变vue data中某个对象的值,却无法触发视图更新的问题.看了看官方文档,怎么解决的呢? 1.检测对象的变化 受现代 JavaScript 的限制(以及废弃 Object.obse ...
- vue 获取数组长度_Vue数据响应式
响应式是一种设计模式. 页面响应式布局就是根据页面缩放大小调整布局,数据响应式就是代码根据数据变化作出反应. 深入响应式原理 - Vue.jscn.vuejs.org 简单来说,当我们把一个 Jav ...
最新文章
- tomcat配置文件修改
- python中lambda函数_python中的lambda函数用法
- 挖矿为什么要用显卡_数字货币行情分析 2020/07/17 为什么大佬们都转向显卡挖矿了?...
- 利用jenkins的api来完成相关工作流程的自动化
- 吃冰淇淋更容易溺水?
- CSMA/CD协议(一目了然,看过都说好)
- VisualStudio2005技巧集合--打造自己的CodeSnippet
- Python 3.x对.CSV数据按任意行、列读取
- 海洋工作室——网站建设专家:只有十句话,看了十分钟(完整版)[不应该只看十分钟!!!]...
- Docker镜像下载到本地及恢复
- 机器码、序列号、认证码、注册码的生成算法(三)
- usb redirector linux,USB Redirector Client详细使用教程
- GitHub下载指定文件或文件夹
- 吉林省教育学院学报杂志社吉林省教育学院学报编辑部2022年第9期目录
- mac 清理 -OmniDiskSweeper
- 深入理解JAVA中的跨包继承
- 计算机软件工作室起名'',半永久工作室名字大全
- 王者服务器维修2019年四月份,王者荣耀2019年4月新皮肤有哪些?4月新皮肤什么时候出...
- mybatis-plus快速入门,手把手搭建mybatis-plus第一个项目
- MongoDb之TTL索引