在vue2中用于数据劫持,Object.defineProperty的get和set会通过对象中值的调用或者修改会触发get和set。观察者通过get和set发布订阅对dom重新渲染数据
Object.defineProperty(obj,props,desc)
- obj:要增加属性的对象
- props:增加属性名
- desc:配置具体如下
| 属性 | 描述 |
|---|---|
| enumerable | 可否遍历 |
| writable | 能否修改 |
| configurable | 能否删除属性 |
| value | 属性默认值 |
| get | 获取属性 |
| set | 修改属性 |
(注意,使用get和set不能和value、writable同时使用,否则出错)