Vue中数据的响应式

82 阅读1分钟

Vue2中数据的响应式是通过Object.defineProperty()来实现的

Object.defineProperty(data,'count',{
	get(){},
    set(){}
});

Vue3中数据的响应式是通过Proxy()来实现的

new Proxy(data,{
	get(key){},
    set(key,value){}

Object.defineProperty()是对对象上的某个属性设置拦截,而Proxy()是对对象的所有属性设置拦截,所以在Vue3中可以捕捉到对象和数组的某一项的变化。(例如,arr[1]=10;