Angular - 向後相容性



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

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

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

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

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

  • 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' 
廣告