Vue中封装的数组方法
Vue将一些被侦听的数组⽅法进⾏了封装,它们也会触发视图更新,具体包括:
- push()方法
- pop()方法
- unshift()方法
- shift()方法
- splice()方法
- reverse()方法
- sort()方法
那它们是如何实现页面更新的呢?
如何实现页面更新
通过重写数组中的原生方法:首先获取到这个数组的Observer对象(即__ob__),如果有新的值,就调用observeArray继续对新的值观察变化(即通过target__proto__ == arrayMethods来改变了数组实例的型),然后手动调用notify,通知渲染Watcher,执行update。