Vue的响应式系统构建
- Vue比较复杂的,直接进入源码分析构建的每一个流程会让理解变得困难
- 对Dep,Watcher,Observer概念的初步认识,有助于对响应式系统设计细节的分析
抛出几个问题进行思考?
-
Dep是作为管理依赖的容器,那么这个容器在什么时候产生?也就是实例化Dep发生在什么时候?
defineReactive是响应式构建的核心,它会先实例化一个Dep类,即为每个数据都创建一个依赖的管理;
代码中依赖收集阶段会做下面几件事:为当前的watcher(该场景下是渲染watcher)添加拥有的数据 为当前的数据收集需要监听的依赖
-
Dep收集了什么类型的依赖?即watcher作为依赖的分类有哪些,分别是什么场景,以及区别在哪里?
-
Observer这个类具体对getter,setter方法做了哪些事情?
-
手写的watcher和页面数据渲染监听的watch如果同时监听到数据的变化,优先级怎么排?
-
有了依赖的收集是不是还有依赖的解除,依赖解除的意义在哪里?
网友评论