先跟你说个事儿,前段时间我用Vue.js写了个Hello World,代码超级简单,一行HTML加一行JS就搞定了。那感觉就像在地上捡了24KB的救星。你知道吗,Vue.js可是MVVM架构的化身,它把所有脏活累活都包办了。那个v-model真的太好用了,直接把双向绑定这个魔法钥匙交到我手里。你看那个列表渲染v-for,数据源一变DOM立马就跟着动。 说到数据流动,我觉得Vue跟其他框架最大的区别就是双向绑定。像以前那种单向数据绑定就像送快递,后端把东西打包好送过来,前端签收插进去。但Vue不一样,它是物联网式的双向绑定。你在输入框里敲字,变量马上就跟跑;JS改了变量,页面瞬间刷新。这种“视图→模型→视图”的闭环真的太牛了。 以前我们开发模式变化挺大的,最早在Tomcat里敲JSP代码的时候还是单点时代。三五个人就能搞定一个全站。但后来业务一膨胀,问题就来了,模板里混了业务逻辑,前后端环境乱七八糟的。为了扫这些雪片般的问题,后端MVC就出现了,规定谁该写什么。但前端还是离不开环境。直到2005年Ajax出现后,SPA时代才来了。前端和后端开始通过接口对话,浏览器变成了新战场。 回头看这个过程,前端从很轻变很重都是为了把麻烦推给系统。Vue.js能不能在历史上留名呢?答案可能交给时间。不过这次进化确实让开发变得更方便了。 MV、MVC、MVVM这几个概念你要弄明白。Vue.js就是个零依赖的框架,代码也很简洁。它用JSON数据驱动组件运行,非常适合现代化的Web界面。官方定位说它是为了这个而生的。API虽然改过名字,但作者都留了兼容层。 IE8以下就别想跑了,现代浏览器都能支持。你看那个TodoList小例子,2000多行源码在GitHub上就能找到。想提前看怎么实现响应式系统的同学可以去翻源码。 至于实际操作体验也很棒。我试着写了个TodoApp,新建、删除、回车新增一条龙操作下来特别流畅。代码量还不到半页纸。自己再加点已完成功能或者本地存储什么的成就感爆棚。 MIUI前线实战也在进行中呢。下次再跟你分享一下踩坑笔记吧。