双向绑定方法
- 发布者-订阅者模式(backbone.js)
- 脏值检查(angular.js)
- 数据劫持(vue.js)
数据劫持
vue.js 则是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。
参考链接: 剖析Vue原理&实现双向绑定MVVM
vDom
实现虚拟DOM包含以下三个步骤:
- 用JS对象模拟DOM树
- 比较两棵虚拟DOM树的差异, Diff算法
- 映射成真实DOM