AngularJS 2.0会有哪些新特性
1个回答
展开全部
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类。
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类。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询