1.1 什么是Vue.js
首先看一下Vue.js的官方文档。
Vue是一套构建用户界面的渐进式框架。与其他大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易上手,还便于与第三方库或已有项目整合。
对于刚接触Vue的读者来说,以上官方简介并不是很好理解。通俗地讲,Vue只是一个工具,并且是一个只能在浏览器中运行的工具,其作用是将Ajax获取到的数据进行页面整合。
1.1.1 当前流行的前端框架
当前比较流行的前端框架,分别是Angular.js、React.js和Vue.js。
Angular.js发布于2009年,是由谷歌团队发布的。
React.js发布于2013年,是由Facebook团队发布的。
Vue.js发布于2014年,是由我国程序员尤雨溪发布的。
1.1.2 为什么要学习Vue.js
随着前端行业的不断发展,现在的前端技术人员不只做HTML页面、写JS特效,更多的是需要和后端人员配合,调用后端接口,拿到数据并且渲染到页面上。
在只做静态页面的时代,后端人员眼中的前端人员只是一个切图的。随着前后端的分离,前端人员和后端人员也变成了“平起平坐”的局面。
从设计理念上看,以前渲染数据是通过Ajax获取,获取到数据之后,经过循环遍历数据,然后拼接数据,最后进行页面整合,在整个过程中需要操作大量的DOM元素,是非常烦琐的,即使后来有了jQuery,但是本质上没变,依然是操作DOM元素。Vue.js的出现,实现了不需要操作DOM元素也可以把数据和页面进行整合。Ajax获取到数据之后,只需要给Vue,Vue会进行循环、拼接、渲染等,我们无须再操作DOM元素。
1.1.3 Vue.js核心理念
Vue.js的核心理念是数据驱动视图和组件化。
Vue.js有双向数据绑定功能,当JS中的数据发生变化时,页面视图会自动改变,只需要注意数据的变化,而不需要操作DOM元素,这就是数据驱动视图。
组件化理念是把整个页面看作一个大组件,里面的每个元素或者功能可以当作子组件,每一个组件都可以重复调用,组件是本书重点讲解的知识点之一。
1.1.4 框架和库的区别
框架和库有本质上的区别,是完全不一样的两个概念。
下面通过一个例子讲解框架和库的区别。例如想要吃饭,厨房里有各种菜,如果使用库,就需要我们拿到菜之后自己去做,库只提供工具;如果使用框架,想吃什么可以直接找一家饭店,告诉服务员要点什么,具体饭店是怎么做的我们不需要知道。
总结:库只是提供各种工具,功能的实现注重的是过程,而框架就是一个工厂,功能的实现注重的是结果。