Vue技术点汇总
Vue技术点汇总
吴华锦响应式数据
根据数据类型【数组和对象】进行不同处理。
对象内部通过
defineReactive方法,使用Object.defineProperty()监听数据属性的get进行数据依赖收集,再通过set完成数据更新。数组则通过重写数组方法实现。扩展
7个变更方法(push/pop/shift/unshift/splice/reverse/sort),通过监听这些方法收集依赖和派发更新。
多层对象通过递归实现监听,
Vue3使用proxy实现响应式数据。
响应式流程:defineReactive定义响应式数据;给属性增加dep收集对应的watcher;等数据变化进行更新。dep.depend——get取值,依赖收集;dep.notify——set设置,通知视图更新。
性能优化点:1. 对象层级过深;2. 不需要响应式数据不放在data;3. Object.freeze可以冻结数据。
评论
匿名评论隐私政策






