VUE的双向绑定原理

数据劫持(vue.js)

        1.vue.js 则是采用数据劫持结合发布者-订阅者模式的方式,通过对象的定义属性( Object.defineProperty() )来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。    



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

下面有一个例子可以看一下

demo:


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


这里调用了 set方法执行了

在这里提醒小伙伴们 双向绑定在面试中会经常问到的

你可能感兴趣的:(VUE的双向绑定原理)