在告诉你基础用法之前,我还是要先告诉你一个情况。
可能要令你有点失望。vue主要是侧重于数据端的。他的目的就是渲染数据和在前端调整一下数据逻辑。
他不是像jquery那样让你用来做特技的。就算你要做特技。你也应该通过css3/canvas而不是dom。
所谓的双向绑定,你可以理解就是把view。(你还不清楚mvc的话,请看第一章)
和model绑定到一起。说白了,就是你js中的绑定值变了。你dom中的内容就跟着一块变了。
vue是通过解析{{文字..}}来生成内容的。后面绑定方法,输出内容的时候都会讲到。
列表输出使用 v-for,这些v开头加横杠的叫做命令
这些命令是可以自定义的。但是那都属于高级操作,我们不用它也完全足够支撑做一个大型项目了。
其实你回发现,这里无论是v-for或者是v-什么其他玩意
它都深刻的遵循了es6的语法。这里不就是一个典型的for in 循环吗。不过我们现在都用for of了。
你记住这个用法,它就长这样。
前后端分离开发的关键在于:后台只提供接口。
我们获得的数据多数情况下,仅仅是一个json,而mvvm的关键就再于解析数据在前端完成了。如果你了解jsp或者php你会了解,数据的解析在mvc中,
是由后端完成的,而html只负责显示。
所以,当你了解了数据绑定和渲染以后,你可以第一时间先把数据输出到页面了。
我们前端最厉害的地方不就是处理能看得见的东西吗?
所有语言处理方式都差不多,nodejs也没啥特别的:
当请求后端的一个地址,如果这个页面需要从数据库取数据,nodejs就会发送sql(假设你是关系型数据结库)到数据库,数据库执行sql,返回结果给nodejs,然后nodejs将结果进行一些逻辑处理后放入上下文环境(context);
接着nodejs会调用后端模板引擎(比如ejs,pug)生成html,在这期间在需要取数据的时候就从context取,最后将生成的html文件流交给http服务器;
浏览器接收到http服务器的响应后,解析html生成DOM树,处理js和css,生成渲染树,最后显示出来