Skip to content

Vue设计与实现 霍春阳版 每章 每节 JS、TS 源码

Notifications You must be signed in to change notification settings

cycleccc/vue-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ba86f35 · Mar 11, 2024
Feb 27, 2024
Feb 28, 2024
Mar 1, 2024
Mar 4, 2024
Mar 5, 2024
Mar 11, 2024
Feb 7, 2024
Feb 17, 2024
Feb 17, 2024
Feb 18, 2024
Feb 22, 2024
Feb 26, 2024
Jan 15, 2024
Feb 26, 2024
Feb 26, 2024
Feb 26, 2024

Repository files navigation

vue-design

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 操作的性能开销

About

Vue设计与实现 霍春阳版 每章 每节 JS、TS 源码

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published