Vue中如何检测数组的变化?
vue2数组并没有使用Object.defineProperty重新定义数组的每个属性,vue中是怎么检测到数组的变化?vue2缺陷无法监测数组的新增无法监测用索引改变数组的操作方法:push,pop,shift,unshift,sort,splice,reverse1.数组的方法(以上7个)都可以更改了数组的内容,然后更新就好了2.vue中对数组的原型方法进行了重写,使用函数劫持的方式,重写了数
·
vue2数组并没有使用Object.defineProperty重新定义数组的每个属性,vue中是怎么检测到数组的变化?
vue2缺陷
无法监测数组的新增
无法监测用索引改变数组的操作
方法:
push,pop,shift,unshift,sort,splice,reverse
1.数组的方法(以上7个)都可以更改了数组的内容,然后更新就好了
2.vue中对数组的原型方法进行了重写,使用函数劫持的方式,重写了数组的方法
3.vue 将 data 中的数组,进行了原型链重写。通过原型链指向了自己定义的数组原型方法,这样当调用数组 api 时,可以通知依赖更新.如果数组中包含着引用类型。会对数组中的引用类型再次进行监控。
实际用vue开发时,对于响应式数组,使用push、splice、pop等方法改变数组时,页面会及时体现这种变化
Vue3是用Proxy来进行对象、数组的代理
更多推荐
已为社区贡献6条内容
所有评论(0)