项目总集
2023年6月6日
项目 阅读全文
2023年6月6日
项目 阅读全文2023年2月19日
Git 阅读全文2023年2月18日
Git 阅读全文2023年1月24日
前端 阅读全文2023年1月22日
前端 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设置,通知视图更新。