大道至简:Angular2只有一个核心概念

开发 前端
Angular2变得更加简洁,最核心的概念只剩下一个,那就是组件Component,其它所有的一切都是围绕着Component展开的。那么Angular2无疑是受到了React的强力影响,毕竟React的核心概念也只有一个,也是Component。

整体上来说,Angular2变得更加简洁,最核心的概念只剩下一个,那就是组件Component,其它所有的一切都是围绕着Component展开的。

从这一点来看,Angular2无疑是受到了React的强力影响,毕竟React的核心概念也只有一个,也是Component。

所以,在使用ng2的时候,大家只要会写Component就行了,其它那些什么服务啊、路由啊、管道啊,都是些小工具而已。

接下来罗列一下Angular2与之前的1.x相比带来的核心改变。

***点:Angular2删掉了$scope的概念。

在ng1.x里面,$scope是一个相当强大又相当可怕的东西,一言不合就让开发者自己$apply。ng2响应社区的强烈吐槽,删除(或者说隐藏)了$scope这个东西,开发者不再需要感知到它的存在,另外,由于ng2引入了zone.js,所以即使在各种回调函数中修改数据模型也不需要手动$apply()了。

这一点说明了群众们吐槽的力量还是相当强大的!

第二点:删掉了ng-controller指令。

Controller终于和Component合体了,小僧想说的是,人家Backbone早就这么做了,你们一开始只顾着自己挖坑,也不看看友军的战法,还好浪子回头为时不晚。

第三点:大幅度演进了脏值检测机制。

大家都知道,”双向数据绑定“之所以能工作,都是因为底层有”脏值检测“这么一个神奇的东西。而实际上ng1.x里面的脏值检测机制的运行效率是非常差的,这就是为什么大家一直在吐槽绑定的对象不能太多、太深的原因。

那么,在ng2中,大幅度演进了这一机制,不仅引入了单向绑定,还引入了各种绑定策略,例如:只检测一次、利用JIT动态生成脏值检测代码等等。毫无疑问,有了这些工具之后,数据绑定效率不再是问题。

第四点:嵌套路由问题。

大家都知道,在ng1.x里面有一个非常讨厌的问题,官方的路由机制是不能嵌套的,这就导致大家在开发的过程中不得不依赖于第三方的ui-router库。ng2中没有这个问题了,因为ng2的路由是基于Component的,天然就支持嵌套。

第五点:依赖注入机制改造。

ng2里面的依赖注入简直和Java中的注解一毛一样,估计核心开发团队里面混入了Java大神。如果你熟悉Spring那一套注解的用法,那么写ng2的组件几乎没有学习成本。

第六点:框架整体上基于TypeScript开发。

这是***的一个变更,但是大家不用害怕,因为你只要记住我一句话就再也没有顾虑了:TypeScript和ActionScript3一样,不过是变态版的Java而已。

责任编辑:武晓燕 来源: iteye博客
相关推荐

2015-12-08 11:13:38

戴尔云计算

2014-11-17 15:23:02

SAPSAP HANA

2017-11-20 15:15:24

群晖

2016-03-25 15:37:18

数据治理数据分析BI

2015-09-14 13:48:35

数据挖掘数据可视化

2015-06-09 22:25:06

SAP大道至简

2014-07-10 17:21:41

SAPSAP论坛简化

2017-02-07 14:27:24

安全风险威胁

2013-10-21 15:11:15

OrmsqlOrm设计

2013-09-27 09:30:33

2024-10-25 13:31:31

2015-02-09 18:19:38

SAPS4HANAERP

2016-11-06 14:53:31

NetApp

2013-05-10 09:36:04

下一代网络锐捷网络简网络

2019-11-07 16:44:25

Veritas

2016-04-07 10:35:46

架构设计架构师滴滴出行

2020-09-25 07:40:39

技术开发选型

2010-07-08 00:48:22

云计算政府

2023-08-11 08:02:36

Gogonew工具链
点赞
收藏

51CTO技术栈公众号