3.vue 中是如何检测数组变化

理解:

1.使用函数劫持的方式,重写了数组的方法
2.Vue 将 data 中的数据,进行了原型链重写,指向了自己定义的数组原型方法,这样当调用数组 api 的时候,可以通知依赖更新,如果数组中包含着引用类型,则会对数组中的引用类型再次进行监控。

原理

initData 初始化用户传入的 data 数据
--> new Observe 将数据进行监测
-->protoAugment(value,anyMethods) 将数组的的原型方法指向重写的原型
-->observeArray 深度观察数组中的每一项(对象类型)

你可能感兴趣的:(3.vue 中是如何检测数组变化)