首页 > 技术文章 > Object.defineProperty

kangshuo 2021-03-25 20:29 原文

vue2版本中,数据劫持使用的是

Object.defineProperty

第一个参数是要定义的对象

第二个参数是要定义属性的名称

第三个参数是被定义的属性描述符

当我们读取或者设置被定义的属性时,就会执行get或set方法

就是在这两个方法中,实现里数据劫持

我们需要遍历data对象中所有属性,并对每个属性使用Object.defineProperty劫持

当值发生变化时,我们执行渲染视图的操作

对数组只能修改数组原型方法

推荐阅读