Vue.js 3.0从入门到精通(视频教学版)
上QQ阅读APP看书,第一时间看更新

1.3 Vue.js概述

Vue.js是一套构建前端的MVVM框架,它集合了众多优秀主流框架设计的思想,轻量、数据驱动(默认单向数据绑定,但也提供支持双向数据绑定)、学习成本低,且可与webpack/gulp构建工具结合以实现Web组件化开发、构建和部署等。

Vue.js本身就拥有一套较为成熟的生态系统:Vue+vue-router+Vuex+webpack+Sass/Less,不仅满足小的前端项目开发,也能完全胜任大型的前端应用开发,包括单页面应用和多页面应用等。Vue.js可实现前端页面和后端业务分离、快速开发、单元测试、构建优化、部署等。

提到前端框架,当下比较流行的有Vue.js、React.js和Angular.js。Vue.js以其容易上手的API、不俗的性能、渐进式的特性和活跃的社区,从中脱颖而出。截至到目前,Vue.js在Github上的star数已经超过了其他两个框架,成为最热门的框架。

Vue.js的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue.js也完全能够为复杂的单页应用提供驱动。

Vue.js的目标就是通过尽可能简单的API实现响应、数据绑定和组合的视图组件,核心是一个响应的数据绑定系统。Vue.js被定义成一个用来开发Web界面的前端框架,是个非常轻量级的工具。使用Vue.js可以让Web开发变得简单,同时也颠覆了传统前端开发的模式。

Vue.js是渐进式的JavaScript框架,如果已经有一个现成的服务端应用,可以将Vue.js作为该应用的一部分嵌入其中,带来更加丰富的交互体验。或者,如果希望将更多的业务逻辑放到前端来实现,那么Vue.js的核心库及其生态系统,也可以满足用户的各种需求。

和其他前端框架一样,Vue.js允许将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML、CSS和JavaScript,如图1-3所示,以用来渲染网页中相应的地方。

图1-3 组件化

这种把网页分割成可复用组件的方式,就是框架“组件化”的思想。

Vue.js组件化的理念和React异曲同工——“一切皆组件”。Vue.js可以将任意封装好的代码注册成组件,例如Vue.component('example',Example),可以在模板中以标签的形式调用。

Example是一个对象,组件的参数配置,经常使用到的是template,它是组件将要渲染的HTML内容。

例如,example组件,调用方式如下:

如果组件设计合理,在很大程度上可以减少重复开发,而且配合Vue.js的单文件组件(vue-loader),可以将一个组件的CSS、HTML和JavaScript都写在一个文件里,做到模块化的开发。此外,Vue.js也可以与vue-router和vue-resource插件配合起来,以支持路由和异步请求,这样就满足了开发SPA的基本条件。

在Vue.js中,单文件组件是指一个后缀名为.vue的文件,它可以由各种各样的组件组成,大至一个页面组件,小至一个按钮组件。在后面章节将详细介绍单文件组件的实现。

SPA即单页面应用程序,是指只有一个Web页面的应用。单页面应用程序是加载单个HTML页面,并在用户与应用程序交互时动态更新该页面的Web应用程序。浏览器一开始会加载必需的HTML、CSS和JavaScript,所有的操作都在这个页面上完成,由JavaScript来控制交互和页面的局部刷新。