什么是Vue
官网是这么解释的:Vue一套用于构建用户界面的渐进式JavaScript框架
构建用户界面:指使数据转变成界面
渐进式:Vue可以自顶向上逐层的应用
什么意思呢?
简单应用:对于一个简单应用来说,只需要引入一个轻巧的核心库,就可以完成数据的展示
复杂应用:对于一个复杂应用来说,可以引入各种Vue插件,完成功能。
前端 3 大主流框架:
- Angular.js
- React.js
- Vue.js(现在最火爆)
前端框架主要负责的是 MVC 中的 V 的这一层,主要的工作就是和界面打交道,主要是用来对页面中的数据进行处理,以及制作前端页面相关的特效及动画。
Vue的背景
- 在2013年,受到Angular框架的启发,尤雨溪开发出了一款轻量框架–Seed。同年12月,更名为Vue,版本号为0.6.0.
- 在2014年,Vue正式对外发布,版本号为0.8.0
- 在2015年10月27日,正式发布Vue1.0.0
- 在2016年10月1日,正式发布Vue2.0.0
- 在2020年9月18日,正式发布Vue3.0.0
Vue的特点
- 1.采用组件化模式,提高代码复用率、且让代码更好维护。
把一个个小模块封装为一个个后缀vue的文件(比如1.vue,2.vue),这些vue文件里面就隐藏着HTML、CSS、JavaScript,在需要用的地方引进来 - 2.声明式编码,让编码人员无需直接操作DOM,提高开发效率。
比如说从前端获取一段json数据集合,想要展示,必须经过这些步骤
1.准备空字符串
2.遍历json数据,拼接字符串
3.获取页面元素
4.通过页面元素操作DOM修改内容,完成展示
这就是命令式编程
声明式编程是,在页面元素中通过Vue的一个属性对json数据进行遍历操作,然后取出数据完成展示。 - 3.使用虚拟DOM+优秀的Diff算法,尽量复用DOM节点。
比如说从前端获取一段json数据集合,想要展示
原生的js代码是,通过一些步骤后,直接就是在DOM页面进行展示,这种方式如果数据量大的话会影响效率,因为每次数据更新,都会进行遍历操作。
Vue是,数据会经过一个虚拟的DOM(可以看作是一个缓存),然后才到真正的DOM里进行展示。
这种方式,如果数据发生变化,新增了几条数据,经过虚拟DOM的时候,会把这个新的虚拟DOM与旧的虚拟DOM进行比对(Diff算法),发现与旧的DOM结构差别不大,只是新增了几条数据,Vue就会把在真实的旧DOM里的数据原封不动,直接把新的数据放进去。