向后兼容
该版本向后兼容大多数应用中的 2.x.x 系列
强力优化代码
新版优化了 View 引擎,改进后 AoT 生成的代码将减少约 60%,而且模板越复杂,所优化的代码量就越大
动画部分单独打包
Angular 将动画部分从 @angular/core 拆分出来,单独打包。将核心模块精简后,在不使用动画时产品中将不包含冗余的动画代码。如需要动画,可使用相关功能自行导入
模板
Angular 4使用<ng-template>作为标签,而不是<template>;后者用于Angular2。Angular 4之所以将<template>改为<ng-template>,是因为<template>标签与html <template>标准标签的名称冲突
管道
添加了一个新的管道标题大小写,将每个单词的第一个字母改为大写。
优化了内置指令 NgIf 和 NgFor
新版本中的模板对于绑定语法做了些修改,将支持开发者使用 if/else 类型的语法,并支持在展开 Observable(可观察对象)等代码中分配局部变量
<div *ngIf="isBoo; else tempLoading">if</div>
<ng-template>
<div>else</div>
</ng-template>
<div *ngFor="let item of arrs; last as last">if</div>
typesctipt 2.1 与 2.2 的兼容
Angular 的 typesctip 更新到 2.2 版本,一方面提高了 ngc 的速度,同时在应用中进行 typesctipt 检查时,体验也更优秀。当前版本向下兼容
模板的源映射
现在,如果在模板渲染的时候,发生了异常,这个模板的Source Map会被生成,这样你就能准确的值得到底是那一个地方导致了错误。不像以前,需要根据错误里面的变量或者其他原因,自己去模板文件里面查找或分析, 这个真的好用