Skip to content
wusfen edited this page May 31, 2019 · 10 revisions

从零实现mvvm框架,重写一个轻量的vue并兼容ie

没有用到 Object.defineProperty()es5, es6 特性,基于 es3,兼容性强,可用于需要兼容ie的项目。
超轻量,可考虑用于 活动页、广告投放页 等轻量的项目。

项目地址: https://github.com/wusfen/vm

  1. 实现思路
  2. utils 辅助函数
  3. parse 解析html
  4. vnode 虚拟dom
  5. attrs 与 props
  6. getVnodeData 获取虚拟节点信息
  7. createVnode 创建虚拟dom
  8. createNode 创建真实dom
  9. updateProps 设置或更新props
  10. compile 编译
  11. domDiff 算法
  12. domDiff 如何触发
  13. VM 构造函数
  14. drirective 指令
  15. watch 观测者模式
  16. computed 计算属性
  17. compoment 组件