Angular 6的新特性介紹


2018年5月4日,Angular6.0.0版正式發布,新版本主要關注底層框架和工具鏈,目的在於使其變得更小更快。下面就介紹下新版本的一些主要新特性,供大家參考。

ng update

ng update 是新增的一個cli命令。通過ng update不僅可以保持正確的版本依賴,而且能保持依賴關系的同步。第三方可以使用原理圖提供更新腳本。如果您的某個依賴項提供了一個ng update原理圖,那么他們可以在需要進行重大更改時自動更新代碼!

ng add

ng add 也是新增的一個cli命令。通過ng add可以更加容易向項目中添加新功能(類似npm install

Angular Material+CDK組件

angular6最大的補充是用於顯示分層數據的新樹組件。遵循數據表組件的模式,CDK包含核心樹指令,而Angular Material則提供與頂層的Material Design樣式相同的體驗

Material

運行命令,添加Material

ng add @angular/material


一旦添加Material之后,你就可以生成三個新的入門組件

Material Sidenav

運行命令:

ng generate @angular/material:material-nav --name=my-nav //生成一個nav組件

Material Dashboard

運行命令:

ng generate @angular/material:material-dashboard --name=my-dashboard

Material Data Table

運行命令:

ng generate @angular/material:material-table --name=my-table


如果要了解更多有關Material的信息,請點擊這里

CLI工作空間

CLI6.0版本現在支持包含多個項目的工作空間,如多個應用程序或庫。CLI項目現在將使用angular.json而不是 .angular-cli.json用於構建和項目配置。
點擊查看更多配置說明

庫的支持

CLI最需要的功能之一是支持創建和構建庫

ng generate library <name>

該命令將在CLI工作區內創建一個庫項目,並對其進行配置以進行測試和構建。

ng generate library <name>

這個命令將在你的CKI工作空間創建一個庫項目,並且自動添加配置信息到angular.json文件和tsconfig.json中。
點擊查看更多關於CLI工作空間的信息

Providers的改變

為了使我們的程序變得輕量,Angular6將模塊引入服務的模式,改成服務引入模塊的模式。

6.0之前的版本服務注入
// app.module.ts
@NgModule({
  ...
  providers: [MyService]
})
export class AppModule {}

//my-service.ts
import { Injectable } from '@angular/core';

@Injectable()
export class MyService {
  constructor() { }
}
6.0之后的版本服務注入

NgModule中不再需要引入

//my-service.ts

import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root',
})
export class MyService {
  constructor() { }
}

Animations性能優化

新的Animations實現,不再需要 web animations polyfill。這也就意味着你可以從你的應用中移除 polyfill,這樣可以減少大約47k的空間

RxJS v6

Angular已經更新使用了RxJS v6。RxJS作為一個獨立的工程已經在幾周前完成了V6的發布

長期支持 (LTS)

我們正在將我們的長期支持擴展到所有主要版本。

之前我們宣布只有v4和v6是LTS版本,但為了從一個主要版本更新到下一個主要版本更容易,並給更大的項目更多時間來規划更新,我們決定將延長對所有主要版本的長期支持從v4開始。

每個主要版本將支持18個月,大約6個月的積極開發,接下來是12個月的關鍵錯誤修正和安全補丁。

如何升級到6.0.0

按照引導對應用進行升級

更新通常遵循3個步驟,並將利用新ng update工具。

  1. 更新@ angular / cli
  2. 更新你的Angular框架包
  3. 更新其他依賴項

Ivy

Ivy將會是下一代渲染引擎,現在正在開發中。讓我們拭目以待吧。
原文鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM