1 Star 0 Fork 0

Evan Liu / mini-vue

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

mini-vue

手写vue3核心功能 了解学习vue3的原理

Feature

Reactive API

  • reactive 函数 生成响应式数据 收集依赖并触发依赖更新
  • effect 函数 执行指定函数 帮助reactive收集依赖
  • effect 会返回 runner方法, 调用runner方法会重新执行fn,并且得到fn的执行结果
  • stop方法清空effect依赖
  • effect支持配置onStop回调函数
  • readonly 函数创建一个只读的代理对象
  • isProxy,isReactive,isReadonly 判断响应式数据类型
  • reactive 和 readonly 嵌套object处理
  • shallowReadonly 得到浅层的只读代理对象
  • shallowReactive 得到浅层的响应式代理对象
  • ref 功能
  • isRef,unRef 工具函数
  • computed 功能

Runtime Core

  • 实现初始化 element 主流程
  • 实现组件代理对象 ($el、this)
  • 使用shapeFlag判断节点类型
  • 处理元素的事件监听
  • 实现组件的props逻辑
  • 实现组件的emit逻辑
  • 实现组件的slots逻辑
  • 实现Fragment和Text节点渲染
  • 实现getCurrentInstance方法
  • 实现provide、inject方法
  • 实现自定义渲染createRender方法
  • 实现组件更新的基本流程
  • 实现更新element的props

空文件

简介

手写vue3核心功能 了解学习vue3的原理 展开 收起
TypeScript 等 3 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
TypeScript
1
https://gitee.com/liu-zhengfeng-yyy/mini-vue.git
git@gitee.com:liu-zhengfeng-yyy/mini-vue.git
liu-zhengfeng-yyy
mini-vue
mini-vue
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891