Vue双向数据绑定原理
vue数据双向绑定原理
双向绑定是通过数据劫持、发布者-订阅者模式来实现的。其中,数据劫持是通过Object.defineProperty()来实现。Object.defineProperty( )函数可以控制对象属性的一些特有操作,比如:读写权、是否可以枚举等
Vue通过Object.defineProperty( )函数对属性的get、set方法进行重写;然后我们在获取、设置属性值时,就会调用get和set方法,Vue就会在get、set中完成数据劫持,并将数据更新页面中(View)。
而页面(View)更新Data数据就更简单了,Vue只需要监听输入框的input事件即可。