Vue从2016年开始问世,吸引了大量的用户。相较于angular与react,vue简单轻便,从性能上,成本少于react,学习vue比学习angular相对简单,吸收了angular和react的优点,vue成为了第三大框架。
vue是MVVM的前端框架,包括Model ,View ,View Model。
一、MVVM
model (数据层,前端指的是js)
view (DOM ,用户界面)
VM(处理数据与界面的中间层,即vue)
二、虚拟DOM
大量的DOM操作会比较慢,前端需要通过JS处理DOM来更新视图数据。这样会导致在更新的地方重新渲染页面,但是未更新的地方也重新渲染了页面。性能上会有一定的影响。
vue利用内存中生成与真实的DOM对用的数据结构,在这个内存中的生成结构称为虚拟DOM。在数据发生变化的时候,能够重新以最小的代价来渲染页面。
三、声明式渲染
渲染分为声明式和命令式渲染
vue是声明式渲染,关注点是在哪里做什么,不考虑如何实现。
命令式,关注点是在哪里做什么,怎么 做
四、渐进式
在单个或者多个页面中,不管什么页面,什么功能,都要使用声明式渲染。我们可以将公共的部分做成组件,这时我们需要使用组件系统。但是当我们大量的使用组件的时候,很难去管理组件的状态,这时我们需要使用vue-resource,集中地管理我们的组件状态。项目完成后build我们的系统。
五、vuejs 与 angularjs比较
1、支持内置指令和自定义指令
2、支持数据的双向绑定
3、不支持低端浏览器
4、支持内置过滤器和自定义过滤器
不同点:angularjs学习较为复杂,但是vue轻量级开发,自身提供API,比较直观。
angular会对数据进行脏检查,而vue则是基于依赖追踪,使用异步队列的更新。
六、vuejs和react
不同点:react以来的是Virtual DOM 而vue使用的是DOM模板,react会对渲染出来的结果做脏检查。
vue提供指令,过滤器简单方便。
七、总结
vue特点框架MVVM,组件化,轻量级,简洁高效,便捷,提供API