AngularJS 2.0会有哪些新特性?

 

AngularJS已然成为Web应用开发世界里最受欢迎的开源JavaScript框架。自成立以来,见证其成功的是惊人的经济增长以及团体的支持与采用包括个人开发者、企业、社区。

Angular已经变成一个构建复杂单页面应用的客户端MVW框架(Model-View-Whatever)。它在应用测试和应用编写方面都扮演重要角色,同时简化了开发过程。

Angular目前的版本为1.3,该版本稳定,并被谷歌(框架维护者)用于支持众多应用(据估计,在谷歌有超过1600个应用运行于Angular1.2或1.3)。Angular 2.0正式宣布与去年10月份的尼日利亚会议上,该版本不会是一个复杂的重大更新。

 

为什么推出Angular 2.0?

在进一步讨论Angular 2.0(估计发布日期为2015年底)之前,让我们简单的思考下新版本背后的哲学。Angular 2.0开发始于解决以下问题:

  • 移动:新的版本将专注于移动应用的开发。依据是它更容易处理桌面方面的事情,一旦挑战涉及到移动(性能、加载时间),注重这方面会使问题得到解决。
  • 模块化:各个模块将从Angular的核心中移除,从而获得更好的性能。这意味着你可以选择你需要的零件。
  • 现代化:Angular 2.0将把ES6和常青现代浏览器(自动更新到最新版本)作为目标。这意味着开发者可以专注于业务领域相关的代码。

 

有哪些争议?

在尼日利亚会议上并没有提及迁移到2.0版本的途径。同时也指出跳转到2.0版本将会打破原有的1.3版本应用,不会有任何的向后兼容性。自从那时开始开发者社区一直充斥着不确定性和猜测,一些开发者也开始质疑是否值得开始一个新的Angular 1.3项目。

 

有哪些改变?

AtScript

AtScript是ES6的一个父集,被用于开发Angular 2.0。它是由Traceur编译器(连同ES6)处理来生成ES5代码并用TypeScript类型语法来生成执行时间的断言,以此来代替编译时的检查。不过AtScript并不是强制的,你仍然能够使用纯JavaScript/ES5代码代替AtScript来编写Angular应用。

改善依赖入驻(DI)

依赖注入(Dependency injection )模式的基本思想是客户类Client不用自己来初始化它所依赖的成员变量IServer,使用一个独立的对象创建IServer适当的实现类并将它赋值给Client的成员变量。它对模块开发与组件隔离特别有益。Angular 2.0将会解决Angular 1.X所存在的这个方面的问题。添加丢失的的特性,如child injectors和lifetime/scope控制。

Annotations

AtScript提供工具关联元数据和功能。这有助于构建提供必要信息到DI库的对象实例(检查相关元数据时调用一个函数或创建一个类的实例)。它还容易通过提供一个注解重载参数数据。

Child Injectors

一个child injector继承了其父类的所有性能服务。根据要求,不同类型的对象可以被调用,并且自动覆盖不同的范围。

实例范围

改进的DI库将以实例范围为特性,这在使用Child Injectors和自己的范围标识符时变得更加强大。

模板和数据绑定

在开发应用中,模板和数据绑定将齐头并进。

动态载入

这是当前Angular版本所缺失的一个特性,不过将在Angular 2.0中出现。这将让开发者可以在忙碌中添加新的指令或控制器。

模板

在Angular 2.0中,模板编译过程将是异步的。由于代码是基于ES6模块规格,该模块加载器将通过简单的引用组件定义来加载依赖关系。

指令

在Angular 2.0中将会出现三种指令:

  • 组件指令这些将通过JavaScript、HTML或一个可选的CSS样式表的封装逻辑创建可重复使用的组件。
  • 装饰指令这些指令将被用来装饰元素(例如添加一个工具提示,或使用ng-show/ng-hide来显示/隐藏元素)。
  • 模板指令这些将把HTML改变为可重复使用的模板。模板的实例化以及嵌入到DOM可以完全由指令控制。这样的例子包括ng-if和ng-repeat。

 

路由方案

初始的Angular路由是被设计用于处理一些简单的情况。然而,随着框架的发展,越来越多的功能被添加。在Angular 2.0中路由已经是可扩展的,它将包含以下基本功能:

  • 简单的基于json路由配置;
  • 优于配置的可选协定;
  • 静态的。参数化的路由模式;
  • URL解析器;
  • 支持查询字符串;
  • 使用推送状态或Hashchange;
  • 导航模型(生成一个导航UI);
  • 文档标题更新;
  • 404路由处理;
  • 位置服务;
  • 历史操作。

现在,让我们来看看那些让Angular 2.0达到新高度的路由特性:

子路由

子路由将把应用的每个组件通过为它们提供各自路由的方式转换成更小的应用,这将有助于封装整个应用的特性集。

屏幕激活

这将帮助开发者通过一组can*回调更出色的控制导航的生命周期:

  • canActivate允许/阻止导航到新的控制器;
  • activate响应成功到新的控制器的导航;
  • canDeactivate允许/阻止导航远离旧的控制器;
  • deactivate响应成功远离旧的控制器的导航;

这些回调将允许开发者返回Boolean值或一个命令(为了更低层次上的控制)。

设计

所有的这些逻辑都是使用流水线结构构建的,使得它非常容易将自己的步骤添加到流水线中或移除默认的东西。此外,它的异步特性将允许开发者使用服务器请求进行身份验证或为控制器加载数据,不过这还在规划中。

 

日志

Angular 2.0将包含一个被称为diary.js的日志服务一个非常有用的特性,测量你在应用中时间花费在哪里。

 

Scope

$scope将从Angular 2.0中移除,取而代之的是ES6类。

 

结论

随着发布日期的临近,围绕Angular 2.0的兴奋和声音将会加剧。是否打破改变是一件好事?我们无法知道,不过反对者感到紧张是可以理解的,因为明显缺乏迁移的计划。Duang的一下就来了。不过其既然要来了,我们可以做的就是积极的迎接它。

 

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:03月03日

鲜为人知的CSS实用技巧

鲜为人知的CSS实用技巧今天来看几个鲜为人知但很实用的 CSS 技巧!1. 毛玻璃特效可以使用 CSS 中的 backdrop-filter 属性来实现毛玻璃特效:.login { backdrop-filter: blur(5px);}实现效果如下:backdrop-filter 属性可以为一个元素后面区域添加图形效果(如模糊或颜色偏移)。因为它适用于元素_背后_的所有元素,为了看到

2023 PostgreSQL菜鸟教程

2023 PostgreSQL菜鸟教程什么是PostgreSql~~~~~~~~~~PostgreSQL是一个功能强大的开源对象关系型数据库系统,他使用和扩展了SQL语言,并结合了许多安全存储和扩展最复杂数据工作负载的功能。PostgreSQL的起源可以追溯到1986年,作为加州大学伯克利分校POSTGRES项目的一部分,并且在核心平台上进行了30多年的积极开发。PostgresSQL凭借其经过验

10 个CSS小技巧

10 个CSS小技巧CSS 大约有两百个属性。很多属性都是相互关联的,理清楚每一个属性细节是不可能的。所以,本文分享一些有用的 CSS 小技巧,方便开发者和设计师参考。1. 打字效果网页设计变得越来越有创意。在 CSS 动画的协调下,你的网页会像活的一样。在这个例子中,我们将使用 animation 和 @keyframes 属性去实现打字效果。具体来说,在这个演示中,我们通过 steps() 属

网页设计与制作教程 | CSS基础知识

网页设计与制作教程 | CSS基础知识初识CSS。CSS是Cascading Style Sheets的缩写,中文译名为层叠样式表,它是一种用于控制网页样式并允许将样式信息与网页内容分离的标记性语言。其中的样式指的就是格式,对网页来说,像文字的大小、颜色以及~~~~~~~~~~位置等都是网页显示信息的样式;层叠是指当在HTML文件中同时引用多个定义好的样式文件时,若多个样式文件间定义的样式发生了冲

HTML/ CSS 入门

HTML/ CSS 入门前言现在我们来学习一些基础的 HTML/ CSS 知识。希望阅读完这篇文章能达到编写简单页面的程度。目录:HTML/ CSS 的发明;HTML 基础;CSS 基础;页面是如何渲染的;Part 1. HTML/ CSS 的发明1989 年 3 月,互联网还只属于少数人。《图解 HTTP》同年,蒂姆·伯纳斯·李(Tim Berners-Lee)提出了一种能让远隔两地的研究者们共

热门专题

APP开发|app开发_app开发公司_app软件开发_专业app开发_云南app开发公司_app定制_原生app开发定制
APP开发
中源管业|中源管业,中源管业公司,中源管业有限公司,中源管业电话,中源管业地址,中源管业电力管,中源管业mpp电力管,中源管业cpvc电力管,中源管业pe穿线管
中源管业
安徽中源管业|安徽中源管业,安徽中源管业mpp电力管,安徽中源管业cpvc电力管,安徽中源管业pe穿线管,安徽中源管业电力管,安徽中源管业排水管,安徽中源管业通信管,安徽中源管业管材
安徽中源管业
云南综合高中|云南综合高中
云南综合高中
国家开放大学|国家开放大学报名,国家开放大学报考,国家开放大学,什么是国家开放大学,国家开放大学学历,国家开放大学学费,国家开放大学报名条件,国家开放大学报名时间,国家开放大学学历,国家开放大学专业
国家开放大学
金诺幼儿园(春城路金诺幼儿园)|昆明官渡区幼儿园,幼儿园报名,官渡区幼儿园,春城路幼儿园,幼儿园招生,学前班,昆明幼儿园,金诺幼儿园,环城南路幼儿园,石井路幼儿园
金诺幼儿园(春城路金诺幼儿园)
云南高职单招|云南单招,云南单招网,云南高职单招网,云南高职单招,云南单招学校,云南单招培训
云南高职单招
昆明综合高中|昆明综合高中
昆明综合高中

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部