透过MVVM模式实现vue的双向绑定数据。
首先须要一个监听器Observer监听数据(model)的变化,具体实现是利用Observer中Object.definePrototype()函数实现监听数据。
当数据发生变化就通知订阅者Watcher通知并执行绑定的更新函数,从而更新视图。
最后须要一个Compile解析器,解析V-model、V-on等节点,绑定对应的更新函数并初始化这类节点的模板数据。html
MVVM模式概念:MVVM模式就是Model–View–ViewModel模式。它实现了View的变更,自动反映在 ViewModel。相反的,ViewModel的变更也会自动反应在View。ViewModel是做为Model和View桥梁的存在。vue
具体可参考Vue.js官方文档中的这一章节:https://cn.vuejs.org/v2/guide...react