Vue设计与实现 霍春阳版 每章 每节 JS、TS 源码
以下为以实现章节列表,未列出的既是不存在完整代码逻辑需要实现
- 4.1 响应式数据与副作用函数
- 4.2 响应式数据的基本实现
- 4.3 设计一个完善的响应系统
- 4.4 分支切换与 cleanup
- 4.5 嵌套的 effect 与 effect 栈
- 4.6 避免无限递归循环
- 4.7 调度执行
- 4.8 计算属性 computed 与 lazy
- 4.9 watch 的实现原理
- 4.10 立即执行的 watch 与回调执行时机
- 4.11 过期的副作用
- 5.1 理解 Proxy 和 Reflect
- 5.2 JavaScript 对象及 Proxy 的工作原理
- 5.3 如何代理Object
- 5.4 合理地触发响应
- 5.5 浅响应与深响应
- 5.6 只读和浅只读
- 5.7 代理数组
- 5.7.1 数组的索引与 length
- 5.7.2 遍历数组
- 5.7.3 数组的查找方法
- 5.7.4 隐式修改数组长度的原型方法
- 5.8 代理 Set 和 Map
- 5.8.1 如何代理 Set 和 MAp
- 5.8.2 建立响应联系
- 5.8.3 避免污染原始数据
- 5.8.4 处理 forEach
- 5.8.5 迭代器方法
- 5.8.6 values 与 keys 方法
- 6.1 引入ref的概念
- 6.2 响应丢失问题
- 6.3 自动脱 ref
7.2 无完整代码逻辑
- 7.1 渲染器与响应系统的结合
- 7.3 自定义渲染器
8.2 无完整代码逻辑
- 8.1 挂载子节点和元素的属性
- 8.3 正确地设置元素属性
- 8.4 class 的处理
- 8.5 卸载操作
- 8.6 区分 vnode 的类型
- 8.7 事件的处理
- 8.8 时间的冒泡与更新时机问题
- 8.9 更新子节点
- 8.10 文本节点和注释节点
- 8.11 Fragment
- 9.1 减少 DOM 操作的性能开销