Angular 8 - 向後相容性



Angular 框架提供了與先前版本的最大相容性。如果 Angular 團隊在一個版本中棄用了一個特性,它將等待另外三個版本才能完全移除該特性。Angular 團隊每六個月釋出一個主要版本。每個版本將有六個月的活躍維護期,然後是另一年的長期支援 (LTS) 期。在這些 18 個月內,Angular 不會引入重大更改。如果 Angular 版本在版本 5 中棄用了一個特性,那麼它可能會在版本 8 或後續版本中將其移除。

Angular 維護所有版本的文件和指南。例如,可以訪問 https://v7.angular.io 檢視版本 7 的 Angular 文件。Angular 還透過 https://update.angular.io/ 網站提供了詳細的升級路徑。

要更新從先前版本編寫的 Angular 應用程式,請在專案目錄中使用以下命令

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

讓我們看看 Angular 8 中引入的一些重要更改。

  • HttpModule 模組及其關聯的 Http 服務已被移除。請使用 HttpClientModule 模組中的 HttpClient 服務。

  • /deep/, >>>:ng-deep 元件選擇器已被移除。

  • Angular 的 TypeScript 預設版本為 3.4。

  • Angular 支援的 Node 版本為 v10 及更高版本。

  • @ViewChild()ContentChild() 裝飾器的行為已從動態更改為靜態。

路由模組中的延遲載入字串語法已被移除,僅支援基於函式的語法。

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