在Vue.js开发过程中,数据处理是一个很重要的部分,尤其是Vue是一个MVVM的框架,也就是Vue经常谈到的双向数据绑定。双向数据绑定的大概原理就是:当数据发生改变变化的时候,视图也跟着发生变化;当视图发生改变变化的时候,数据同时跟着发生变化。
Vue.js是采用数据劫持结合发布者-订阅者模式的方式,是根据Object.defineProperty() 这个方法重新定义对象获取属性值和设置属性值的操作来实现,也就是劫持各个属性的setter和getter,在数据源的数据改变的时候发布消息给订阅者,然后触发相应的监听回调。
举一个简单的实例:
<div id="mvvm-app">
<input type="text" v-model=“title”>