angular5 的新特性

简单了解:

  1、构建优化器。5.0 版本默认采用 CLI 编译和打包。构建优化器是 CLI 中的一个工具,通过对应用程序的语义化理解使得程序打包变小。一个方面是通过用户主动标记,删除应用中没用到的程序;另一方面则是运行时删除只在编译用到的装饰器信息。

  2、服务端状态转换和 DOM 支持。增加了 ServerTransferStateModule 和 BrowserTransferStateModule 模块,可以在服务端生成模块信息并传输到客户端,不需要客户端重复创建,可以更好地支持那些对js支持不太友好的环境来提高应用程序的性能。

  3、编译器改进。Angular 编译器新支持了增量编译,重新构建变得更快。支持设置 preserveWhitespace 对制表符、换行符、空格是否进行编译后原样保留。增强的装饰符,现在支持 Lambda 和对象字面量 useValue、useFactory 和 data 装饰器中的表达式降级;可以不使用命名函数,而改用 Lambda 函数。

  4、建立了新的号码、日期和货币管道,增加了跨浏览器的标准化实现,消除国际化在不同环境的差异。支持自己实现管道。

  5、注入器修改。为了更多的减少 polyfills,使用了StaticInjector 注入器来替换原有的 ReflectiveInjector 注入器,这种注入器不再里来与 ReflectPolyfill,可以大幅减少应用程序体积。

  6、zone 执行速度的提升。支持绕过 zone 引导启动应用程序。语句:

platformBrowserDynamic().bootstrapModule(AppModule, {ngZone: 'noop'}).then( ref => {} );

  7、增加了 exportAs 组件属性,将一个组件导出多个名字。

@Component({ 
    selector: 'a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab]', 
    exportAs: 'matButton, matAnchor' 
    ...
}

  8、HttpClient 模块更新,新的 HttpClientModule 模块在 @angular/common/http 中,使用 http 服务时,可以去掉 map(res=>res.json()) 的调用。

  9、Angular CLI v1.5,已经添加对 5.0 的支持并默认开启构建优化,打更小的 js 包。

  10、Angular表单添加 updateOn Blur/Submit,这样可以根据 blur 或 submit 来运行验证和更新值的逻辑了,不必再单纯依赖 input 事件。 例:

<form [ngFormOptions]="{updateOn:'submit'}"> 

   例:

new FormGroup(value, {updateOn: 'blur'})); 
new FormControl(value, {updateOn: 'blur', asyncValidators: [myValidator]})

  11、Rxjs 5.5,支持 V5.2+ 5.5 在 bundle 上更加优化。

  12、增加了新的路由器生命周期事件监听。 GuardsCheckStart、ChildActivationStart、ActivationStart、GuardsCheckEnd ResolveStart、ResolveEnd、ActivationEnd、ChildActivationEnd

原文地址:https://www.cnblogs.com/guofan/p/8359817.html