VUE的双向绑定原理
2019-03-25 本文已影响9人
眼GG
数据劫持(vue.js)
1.vue.js 则是采用数据劫持结合发布者-订阅者模式的方式,通过对象的定义属性( Object.defineProperty() )来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。

Object.defineProperty():方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。
下面有一个例子可以看一下
demo:


这里没有调用obj.name 所以set方法没有被执行

