Vue响应式
- 组件data的数据一旦变化,立刻触发视图的更新
实现数据驱动视图的第一步
核心API -
Object.definePropertyObject.definProperty的缺点(Vue3.0 启用了 Proxy)
Proxy有兼容性问题
- Proxy兼容性不好,且无法polyfill
Object.defineProperty基本用法
/* 编写 */let data = {}let name = "zhangsan"Object.defineProperty(data, "name", {get: function() {console.log('get')return name},set: function() {console.log('set')name = newVal}})/* 测试 */console.log(data.name) // get zhangsandata.name = "lisi" // set
用 Objec.defineProperty实现响应式
- 监听对象,监听数组
- 复杂对象,深度监听
- 几个缺点
