通过前面实现的Watcher
和Compiler
,我们已经能够监听数据的改动以及解析模板语法。现在就让我们将他们结合起来,实现数据驱动模板。
简单易懂的MVVM实现之Watcher(一)
MVVM 大家都不陌生了,它把前端开发者用复杂的 dom 操作中彻底解放了出来,从当年让人惊为天人的 Angularjs,到今天前端必备技能 React 和 Vue,始终贯彻着数据驱动UI
这一模式,好处之多无需赘言。想要实现这一点有很多途径,我自己也尝试着做了一套,实现了一些基本功能。
理解javascript的数值精度
稍微接触前端比较久的同学,多多少少都听说过一个经典问题 0.1 + 0.2 !== 0.3
,即计算精度丢失。其实不光 javascript,其他很多语言都有这个问题。造成这个问题的原因,还要从一些计算机知识开始说起。
TS装饰器和reflect-metadata
目前 decorator 草案仍然处于 stage2 阶段,将来 API 可能会有破坏性改动,所以本文内容以目前的 ts 中的 decorator 定义为主。