vue2
数据劫持
什么是vue中的数据劫持?
vue中vm._data(vue实例-视图模型-ViewModel中的_data属性)对于data(模型-Model)进行数据劫持
数据代理
通过一个对象代理对另一个对象中属性的操作(读/写)。
什么是vue中的数据代理?
vue中vm(vue实例)对data内的全部属性进行了数据代理。
Vue中数据代理的好处:更加方便的操作data(模型-Model)中的数据。
原理
-
通过 Object.defineProperty() 把data对象中所有属性添加到vm上。
-
为每一个添加到vm上的属性,都指定一个getter/setter。
-
在getter/setter内部去操作(读/写)data中对应的属性。