20.框架通识-双向绑定原理

双向绑定的实现方式有几种
1.观察者模式
2.脏值检查
3.数据劫持

观察者模式
假如现在有数据data,存在可观察对象Observable,和一些观察者Observer。当数据模型data发生改变时,Observable就通知Observer,更新视图。当页面修改了数据后,利用eventListener去更新data。难点是如何使Observable能够监听到data的变化,此种方式中,不能直接去更改data,每次修改data,需调用专门的函数,如vm.set('property', value)。

脏检查
angular中使用脏检查。

数据劫持
通过Object.defineProperty()来劫持各个属性的setter,getter。
vue.js中使用数据劫持+观察者模式实现双向绑定。

数据模型->视图

你可能感兴趣的:(20.框架通识-双向绑定原理)