文档章节

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

FeanLau
 FeanLau
发布于 2017/08/28 17:30
字数 775
阅读 20
收藏 0

整体上来说,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而已。

本文转载自:http://damoqiongqiu.iteye.com/blog/2317482

共有 人打赏支持
FeanLau
粉丝 3
博文 219
码字总数 117077
作品 0
浦东
程序员
私信 提问
第214天:Angular 基础概念

一、Angular 简介 1、 什么是 AngularJS - 一款非常优秀的前端高级 JS 框架 - 最早由 Misko Hevery 等人创建 - 2009 年被 Google 公式收购,用于其多款产品 - 目前有一个全职的开发团队继续开...

半指温柔乐
04/04
0
0
Angular 5 快速入门与提高

一、概述 尽管被称为,实际上它只是这个诞生于2012年的前端框架的的第四个版本: 看起来差不多半年就发布一个新版本,不过实际上从重写的版本开始,开发接口与核心思想就稳定下来了,并基本保...

笔阁
2017/11/03
0
11
【前端】—聊聊我认识的Angular

前言 最近接触的项目前端用到了Angular框架,之前略有耳闻,从vue换到Angular,感觉东西差不多,还是要系统学习的,先来了解下。 正文 1、Angular 的发展 AngularJS 是一款来自Google的前端J...

zt15732625878
05/19
0
0
开放才能进步!Angular和Wijmo一起走过的日子

Angular已成为广受欢迎的前端框架。去年9月份,期待已久的Angular2的正式版发布之后,Angular又迎来了新一轮热潮。伴随着Angular这一路走来,Wijmo一直都是第一个全面支持各种版本Angular的J...

葡萄城技术团队
2017/02/16
2
0
Angular 中得 scope 作用域梳理

$scope 的使用贯穿整个 Angular App 应用,它与数据模型相关联,同时也是表达式执行的上下文.有了 $scope 就在视图和控制器之间建立了一个通道,基于作用域视图在修改数据时会立刻更新 $scope,同...

顽Shi
2014/09/21
0
2

没有更多内容

加载失败,请刷新页面

加载更多

微服务分布式事务实现

https://www.processon.com/view/link/5b2144d7e4b001a14d3d2d30

WALK_MAN
今天
2
0
《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
今天
3
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
今天
3
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
今天
3
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部