vue mvvm原理

vue mvvm原理:

m相当于数据层,vm视图层,v是之间的调用者,主要实现流程如下:
通过js原生的方法Object.defineProperty()来劫持各个属性的setter,getter,在属性对应数据改变时,发布消息给订阅者,然后触发相应的监听回调,达到视图更新的目的。
具体流程内容:
1:observe的数据对象进行递归遍历,包括子属性对象的属性,都加上 setter getter。
2:实现数据劫持后,接下来的任务怎么通知订阅者了,我们需要在监听数据时实现一个消息订阅器,具体的方法是:定义一个数组,用来存放订阅者,数据变动通知(notify)订阅者,再调用订阅者的update方法。与Compile建立连接
3.Compile 解析指令

你可能感兴趣的:(vue mvvm原理)