📘 Vue响应式原理
深入·手动实现
🎯 30章 · 从零到源码
01
课程导学
学习路径
为什么学习响应式原理?课程目标与学习路径。
02
前置知识
Object.defineProperty
Object.defineProperty 深度解析与 Proxy 初探。
03
前置知识
发布-订阅 vs 观察者
发布-订阅模式与观察者模式的区别与实现。
04
前置知识
Set/Map/WeakMap
ES6 的 Set、Map、WeakMap、WeakSet 在响应式中的应用。
05
核心概念
Vue2 架构
Vue2 响应式系统整体架构与数据驱动视图流程。
06
核心概念
Vue3 架构
Vue3 响应式系统整体架构与 ref/reactive 的诞生背景。
07
手动实现
Dep 依赖收集器
从零实现一个极简的 Dep 依赖收集器。
08
手动实现
Watcher 观察者
实现 Watcher 观察者,建立依赖关系。
09
手动实现
defineReactive
实现 defineReactive,让对象属性变得可响应。
10
手动实现
Observer 类
实现 Observer 类,递归处理深层对象。
11
手动实现
数组方法重写
处理数组的特殊性——重写数组方法。
12
手动实现
$set / $delete
实现 $set 和 $delete 解决 Vue2 的响应式缺陷。
13
手动实现
Compile 模板编译
实现一个简易的 Compile 模板编译器(文本节点)。
14
手动实现
v-model 双向绑定
实现 v-model 双向绑定指令。
15
手动实现
v-bind & 事件绑定
实现 v-bind 指令与事件绑定。
16
手动实现
Mini-Vue 整合
整合 Observer、Dep、Watcher、Compile 完成 Mini-Vue。
17
深入剖析
异步更新 & nextTick
Vue2 异步更新队列与 nextTick 原理。
18
深入剖析
computed 缓存机制
Vue2 计算属性 computed 的惰性求值与缓存机制。
19
深入剖析
watch deep/immediate
Vue2 侦听器 watch 的 deep 与 immediate 实现。
20
深入剖析
虚拟DOM & diff
Vue2 虚拟 DOM 与 diff 算法在响应式中的角色。
21
Vue3 新特性
Proxy & Reflect
Proxy 与 Reflect 实现响应式。
22
手动实现
reactive 函数
Vue3 的 reactive 函数实现。
23
手动实现
ref 与 .value
Vue3 的 ref 函数与 .value 的魔法。
24
手动实现
computed & watchEffect
Vue3 的 computed 与 watchEffect。
25
手动实现
shallowReactive
Vue3 的 shallowReactive 与 shallowRef。
26
手动实现
toRef / toRefs
Vue3 的 toRef 与 toRefs 解构不丢失响应性。
27
性能优化
合理拆分数据
响应式数据的合理拆分与避免过度监听。
28
性能优化
性能瓶颈排查
大型项目中响应式数据的性能瓶颈与排查方法。
29
源码解读
Vue2 Observer/Dep
Vue2 源码中 Observer 与 Dep 的核心代码逐行分析。
30
源码解读
Vue3 reactive/effect
Vue3 源码中 reactive 与 effect 的核心代码逐行分析。