反应式UI引擎 - Blaze
我们已经知道,一个依赖于反应式数据的计算过程,使用Tracker.autorun()就可以将其 启动为反应式计算,数据的变化会自动触发重新计算:
那么,如果这个计算过程是用来构造用户界面的,这个用户界面不就可以跟随数据的 变化而自动更新了吗?
没错,这正是Meteor模板引擎Blaze包设计的关键出发点 - 反应式UI:
开发者编写的模板(包括helpers、events),在运行之前的打包/Bundle过程中将 被编译为UI计算过程,然后与反应式数据一起,提交给Tracker运行,实现反应式UI。
你看到,我们并不需要手写UI计算过程,Meteor的编译器自动地将模板转化为 对应的计算过程 - 当我们了解手写一个UI计算的繁琐以后,就知道写模板有多幸福了。