项目总集
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
设置,通知视图更新。