vue与angular的异同

一.Vue.js

Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API;

Vue.js是一个构建数据驱动的Web界面的库。

Vue.js是一套构建用户界面的 渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和 Vue 生态系统支持的库开发的复杂单页应用。数据驱动+组件化的前端开发。

简而言之:Vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。核心是一个响应的数据绑定系统。

二.Angular

1.MVVM(Model)(View)(View-model)

2.模块化(Module)控制器(Contoller)依赖注入:

3.双向数据绑定:界面的操作能实时反映到数据,数据的变更能实时展现到界面。

4.指令(ng-click ng-model ng-href ng-src ng-if…)

5.服务Service($compile $filter $interval $timeout $http…)

其中双向数据绑定的实现使用了 s c o p e 变 量 的 脏 值 检 测 , 使 用 scope变量的脏值检测,使用 scope使scope. w a t c h ( 视 图 到 模 型 ) , watch(视图到模型), watchscope. a p p l y ( 模 型 到 视 图 ) 检 测 , 内 部 调 用 的 都 是 d i g e s t , 当 然 也 可 以 直 接 调 用 apply(模型到视图)检测,内部调用的都是digest,当然也可以直接调用 apply()digestscope.$digest进行脏检查。值得注意的是当数据变化十分频繁时,脏检测对浏览器性能的消耗将会很大,官方注明的最大检测脏值为2000个数据。

相同点:

都支持指令:内置指令和自定义指令。

都支持过滤器:内置过滤器和自定义过滤器。

都支持双向数据绑定。

都不支持低端浏览器。

不同点:

(1).AngularJS的学习成本高,比如增加了Dependency Injection特性,而Vue.js本身提供的API都比较简单、直观。

(2).在性能上,AngularJS依赖对数据做脏检查,所以Watcher越多越慢。

Vue.js使用基于依赖追踪的观察并且使用异步队列更新。所有的数据都是独立触发的。

对于庞大的应用来说,这个优化差异还是比较明显的。

angular可以进行自动化的测试,就是一般做移动端应用时,ui-router路由方面难以处理,经常出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值