《深入浅出vue.js》阅读笔记之数组变化侦测

1、如何追踪变化

数组的侦测方式和对象不同,比如:

this.list.push(1)

此时并不会像改变对象一样触发setter。

同理,要侦测数组的变化意味着我们在改变数组的时候得到通知,如图,我们可以用一个拦截器覆盖Array.prototype,每当使用array原型方法时,实际

执行的是拦截器中的方法,而拦截器中的方法储存原生方法实现。

2、实现拦截器

拦截器其实是一个和Array.prototype一样的object,只不过这个object中某些可以改变数组自身内容的方法是处理过的。

改变数组内容的方法一共有七个,push,pop,shift, unshiftj, slice, sort 和reverse

猜你喜欢

转载自www.cnblogs.com/pjl43/p/10666448.html