感谢阅读本文 · 欢迎在下方留言交流你的想法
探索更多文章 →共 0 条
使用正则解析模版,生成AST(抽象语法树),优化之后生成render函数,然后生成虚拟dom,然后通过h函数生成真实dom节点,通过patch函数渲染到页面
响应式依赖Object.defineProperty和发布订阅模式实现,在模版解析的时候,把模板中变量换成数据,绑定更新函数,添加订阅者,通过get方法依赖收集,在属性变化之后,通过setter方法通知订阅了该属性的每一个观察者更新视图,生成新的虚拟dom,再调用patch函数用diff算法比较虚拟dom区别并更新差异到视图
mvvm实现依靠Object.defineProperty和发布订阅模式实现
劫持数据
更新视图