Angular 8 - 向后兼容性


Angular 框架提供了与以前版本的最大兼容性。如果 Angular 团队弃用某个版本中的某个功能,它将等待另外 3 个版本才能完全删除该功能。Angular 团队每六个月发布一个主要版本。每个版本都有六个月的主动维护期,然后再有一年的长期支持(LTS)期。在这 18 个月内,Angular 没有引入重大变更。如果 Angular 版本弃用了版本 5 中的某个功能,那么它可能会在版本 8 或下一个版本中删除它。

Angular 维护所有版本的文档和指南。例如,可以检查版本 7 的 Angular 文档 @ https://v7.angular.io。Angular 还通过 https://update.angular.io/ 站点提供了详细的升级路径。

要更新从以前版本编写的 Angular 应用程序,请在项目目录中使用以下命令:

ng update @angular/cli@8 @angular/core@8

让我们看看 Angular 8 中引入的一些重要变化。

  • HttpModule模块及其关联的Http服务被删除。使用HttpClientModule模块中的HttpClient服务。

  • /deep/、>>>:ng-deep组件选择器被删除。

  • TypeScript 的 Angular 默认版本是 3.4。

  • Angular 支持的 Node 版本是 v10 及更高版本。

  • @ViewChild()ContentChild()装饰器Behave从动态更改为静态。

路由器模块中的延迟加载字符串语法已被删除,并且仅支持基于函数的。

loadChildren: './lazy/lazy.module#LazyModule' 
loadChildren: () => import('./lazy/lazy.module'