Commit Graph

13 Commits

Author SHA1 Message Date
dj
c0853b353d docs(ref): 更新 ref 实现的注释文档
- 为 RefImpl 构造函数添加原始数据注释
- 为 value setter 方法添加详细的参数和逻辑说明
- 为 newValue 和 _rawValue 的比较逻辑添加注释
- 为 value setter 中的数据更新流程添加步骤注释
- 更新 triggerRefValue 函数的注释描述
2026-02-05 23:53:27 +08:00
dj
2ed86a03b5 refactor(vue): 构建ref简单数据类型的响应性 2026-02-05 23:38:51 +08:00
dj
6b7b452a56 feat(ref): 实现 ref 值变化检测和依赖触发功能
- 在 shared 包中新增 hasChanged 函数用于比较值是否发生变化
- 修改 RefImpl 类添加 _rawValue 属性存储原始值
- 实现 ref setter 中的值变化检测逻辑
- 添加 triggerRefValue 函数用于触发 ref 依赖更新
- 优化 ref 的 getter 和 setter 方法实现响应式更新
2026-02-05 22:36:15 +08:00
dj
9aad0f6c74 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	packages/vue/examples/reactivity/ref.html
2026-02-05 21:58:25 +08:00
dj
7fc2292d4b feat(core): 添加 ref 响应式引用功能
- 实现了 ref 函数用于创建响应式引用
- 添加了 RefImpl 类来管理引用值的响应式行为
- 集成了 trackRefValue 函数进行依赖追踪
- 扩展了 vue 包的导出以包含 ref 功能
- 在 shared 包中添加了 isObject 工具函数
- 创建了 toReactive 辅助函数用于对象响应式转换
- 新增 ref.html 示例文件展示 ref 使用方法
- 移除了旧的 reactive-test.html 示例文件
2026-02-05 21:57:55 +08:00
dj
72a4bec26a docs(examples): 添加响应性示例并更新reactive示例
- 在reactive.html中添加解构赋值示例,展示如何从响应式对象中提取属性
- 添加console.log调试信息以便更好地理解响应式行为
- 新增ref.html文件,提供另一个响应性相关的示例
- 更新示例代码以更好地演示Vue 3的响应性系统
2026-02-05 17:26:17 +08:00
dj
434bf946c5 test(reactivity): 添加响应式测试用例
- 创建 reactive-test.html 测试文件
- 验证 reactive 函数对简单数据类型的处理
- 添加基本的 DOM 结构和 Vue 引入
- 实现简单的响应式对象测试逻辑
2026-02-04 23:28:54 +08:00
dj
668ecda610 refactor(reactivity): 重构响应式系统依赖收集机制
- 将依赖管理逻辑分离到独立的dep模块
- 创建Dep类型定义和createDep工厂函数
- 修改KeyToDepMap类型以使用Dep集合替代单个ReactiveEffect
- 添加trackEffects函数用于统一跟踪依赖
- 实现triggerEffects函数用于批量触发依赖
- 增加triggerEffect函数用于触发单个依赖
- 在effect运行时添加注释说明首次getter触发
- 添加HTML示例文件验证多依赖收集功能
2026-02-04 23:25:32 +08:00
dj
0850e05bd1 feat(effects): 实现响应式依赖收集和触发机制
- 创建targetMap WeakMap用于存储响应式对象及其依赖映射关系
- 实现track函数用于收集依赖并建立target-key-effect的映射
- 实现trigger函数用于触发指定key的依赖更新
- 在track中通过activeEffect判断是否需要收集依赖
- 添加详细的JSDoc注释说明参数和功能
- 示例页面中添加定时器验证响应式更新效果
2026-02-04 22:19:55 +08:00
dj
5a24b61edf feat(core): 实现响应性系统的核心功能
- 添加 effect 函数用于创建响应性副作用
- 实现 ReactiveEffect 类来管理响应性执行
- 添加 track 函数用于依赖收集
- 添加 trigger 函数用于触发依赖更新
- 在 baseHandlers 中实现 Proxy 的 get 和 set 拦截器
- 将 effect 导出到 vue 包的入口文件
- 添加 dev 脚本用于监听构建
- 更新示例文件展示响应性功能的使用
- 修复 README.md 中代码块格式问题
2026-02-03 22:18:21 +08:00
dj
d3fea3f244 feat(reactivity): 实现响应式系统基础功能
- 新增 baseHandlers.ts 文件,定义响应性 handler
- 在 reactivity 模块中导出 reactive 函数
- 将 vue 主入口改为导出 reactive,移除测试代码
- 添加 reactive.html 示例文件用于测试响应式功能
- 实现 reactive 函数,支持创建复杂数据类型的响应式对象
- 使用 WeakMap 缓存代理对象,避免重复代理
2026-02-03 18:14:33 +08:00
dj
d4684f288e build: 集成 Rollup 构建工具并配置相关插件 2026-02-02 21:10:02 +08:00
dj
a5bd4d728b chore: 初始化项目基础配置
- 添加 .prettierrc 配置文件,设置代码格式化规则
- 创建各 packages 目录下的 README.md 文档
- 配置 tsconfig.json TypeScript 编译选项
- 设置 rollup.config.js 打包配置
- 添加 .gitignore 忽略文件配置
- 安装 prettier 依赖
2026-02-02 18:07:30 +08:00