1.与angularjs的区别

 
相同点:
 
都支持指令:内置指令和自定义指令。
 
都支持过滤器:内置过滤器和自定义过滤器。
 
都支持双向数据绑定。
 
都不支持低端浏览器。

不同点:
 
(1).AngularJS的学习成本高,比如增加了Dependency Injection特性,而Vue.js本身提供的API都比较简单、直观。
 
(2).在性能上,AngularJS依赖对数据做脏检查,所以Watcher越多越慢。
 
Vue.js使用基于依赖追踪的观察并且使用异步队列更新。所有的数据都是独立触发的。
 
对于庞大的应用来说,这个优化差异还是比较明显的。
 
2.与React的区别
 
相同点:
 
react采用特殊的JSX语法,Vue.js在组件开发中也推崇编写.vue特殊文件格式,对文件内容都有一些约定,两者都需要编译后使用。
 
中心思想相同:一切都是组件,组件实例之间可以嵌套。
 
都提供合理的钩子函数,可以让开发者定制化地去处理需求。
 
都不内置列数AJAX,Route等功能到核心包,而是以插件的方式加载。
 
在组件开发中都支持mixins的特性。
 
 
 
不同点:
 
React依赖Virtual DOM,而Vue.js使用的是DOM模板。React采用的Virtual DOM会对渲染出来的结果做脏检查。
 
Vue.js在模板中提供了指令,过滤器等,可以非常方便,快捷地操作DOM。
 
 
 
四.应用场景:
 
针对具有复杂交互逻辑的前端应用;
 
它可以提供基础的架构抽象;
 
可以通过AJAX数据持久化,保证前端用户体验
 
好处:
 
当前端和数据做一些操作的时候,可以通过AJAX请求对后端做数据持久化,不需要刷新整个页面,只需要改动DOM里需要改动的那部分数据。特别是移动端应用场景,刷新页面太昂贵,会重新加载很多资源,虽然有些会被缓存,但是页面的DOM,JS,CSS都会被页面重新解析一遍,因此移动端页面通常会做出SPA单页应用。
 
Vue.js的特点:MVVM框架、数据驱动、组件化、轻量、简洁、高效、快速、模块友好