选择V??ue而不是Angular,有几个原因,当然不适合所有人:Vue.js在API和设计上比Angular简单得多,所以你可以快速掌握它的所有特性和投入开发。Vue.js是一种更加灵活和开放的解决方案。它允许你以你想要的方式组织你的应用程序,而不是必须始终遵循Angular设置的规则。它只是一个视图层,因此您可以将它嵌入到现有页面中,而无需制作庞大的单页应用程序。它让你在与其他库合作时有更大的自由度,但相应地,你也需要做出更多的架构决策。例如,Vue.js核心默认不包含路由和Ajax功能,并且通常假定您在应用程序中使用模块构建系统。这可能是最重要的区别。Angular使用双向绑定,Vue也支持双向绑定,但默认是单向绑定,数据从父组件单向传递给子组件。在大型应用程序中使用单向绑定使数据流易于理解。指令和组件在Vue.js中更清楚地分开。指令仅封装DOM操作,而组件代表一个自给自足的独立单元——具有自己的视图和数据逻辑。Angular中两者之间存在很多混淆。Vue.js具有更好的性能并且非常非常容易优化,因为它不使用脏检查。Angular,当watcher越来越多的时候,会越来越慢,因为作用域每发生变化,所有的watchers都要重新计算。另外,如果某些watchers触发了另一个更新,则脏检查周期(摘要周期)可能会运行多次。Angular用户经常求助于深奥的技术来绕过肮脏的检查循环。有时没有简单的方法来优化有很多观察者的范围。Vue.js完全没有这个问题,因为它使用基于依赖跟踪的观察系统和异步队列更新,所有数据更改都是独立触发的,除非它们之间存在显式依赖关系。唯一需要优化的是在v-for上使用track-by。使用Angularjs和Vue.js进行比较。之前的项目用的是Angularjs。(注意这里主要说的是Angularjs1。)初用Vue.js后,做个简答对比笔记。先从理论上简单说说它们各自的特点,然后用几个小例子来说明。Angular1、MVVM(模型)(视图)(View-model)2、模块化(Module)控制器(Contoller)DependencyInjection:3、双向数据绑定:接口的操作可以实时反映在数据中,数据的变化可以实时显示在界面上。4.Instruction(ng-clickng-modelng-hrefng-srcng-if...)5.ServiceService($compile$filter$interval$timeout$http...)双向数据绑定的实现uses$scope变量的脏值检测,使用$scope.$watch(viewtomodel),$scope.$apply(modeltoview)检测,内部调用digest,当然你也可以直接调用$scope.$digest做脏检查。值得注意的是,当数据变化非常频繁时,脏检测会消耗大量的浏览器性能。官方最大脏检测值为2000个数据。Vuevue.js官网:它是一个用于构建用户界面的渐进式框架。与其他重量级框架不同,Vue旨在自下而上地进行增量开发。Vue的核心库只专注于视图层,非常容易学习和与其他库或现有项目集成。另一方面,Vue完全有能力驱动使用Vue生态系统支持的单文件组件和库开发的复杂单页应用程序。Vue.js的目标是使用尽可能简单的API启用反应式数据绑定和组合视图组件。(1)模块化,目前最火的方式是在项目中直接使用ES6模块化,结合Webpack进行项目打包(2)组件化,创建一个.vue后缀的单个组件文件,包括模板(html代码)、脚本(es6code),style(cssstyle)(3)routing,vue很小,最小源码压缩后72.9kb,gzip压缩后只有25.11kb,比Angular小144kb,可以使用需要的库插件自己。类似路由插件(Vue-router),Ajax插件(vue-resource)等,下面直接上传代码。首先,当然是HelloWorldvue
