從計劃2.0開始足足進行近四個月,其中發佈過八個版本。當初給2.0作的願景基本上達到要求,固然一切都仍是那句話:【讓開發者更加專一於業務】。html
ng-zorro-antd 提供的大量的基礎組件,當你熟悉這些組件之後,開發 Angular 會是一種「爽」體驗,然而對於中後臺而言部分高頻繁組件在大多數場景下顯得有點臃腫。antd
因此 2.0 變動主要從兩個方面:佈局
提供一組 Simple 系列組件:性能
simple-table
從新重構)以及基於 JSON Schema 的動態表單 sf
,這四個 Simple 系列組件相比較 ng-zorro-antd 的原始寫法,更易編寫、閱讀,基本上能夠知足大多數場景;但它們並不是用來替代原始的寫法,特別是 st
與 sf
它們並不適合複雜交互,此時,依然應該優先使用原始方式。url
除此以外,2.0 對部分輸入屬性及接口的多態性、內聚性作一些變動。code
屬性多態性component
當構建一個數據表格時,表格的數據源可能來自遠程數據或本地靜態數據,但咱們不該該過分的將數據源作成兩個不一樣屬性加以區分,他們只是不一樣的數據來源而已,但對於表格而言是統一:htm
<table [data]="url"></table> <table [data]="list"></table>
屬性內聚性對象
同一個功能的屬性應該更內聚,例如咱們表述一個HTTP請求時,包含:請求方法、請求域、參數等,這些屬性應該統一在一個對象值體現,HttpClient
請求就是一個很是好的例子。接口
<st [reqMethod]="'GET'" [reqParams]="{ a: 1 }"></st> <st [req]="{ method: 'get', params: { a: 1 } }"></st>
意指開發過程當中如何使用最小的方式構建符合移動端的中後臺,ng-alain 默認提供一套 響應式服務 規則,它服務於最基礎的CURD組件:se
、sv
等。例如:當你但願構建一行兩列的表單,而且若屏幕小於 <576px
將自動轉化成一列,則只須要這樣:
<div se-container="2"> <se label="Field1"></se> <se label="Field2"></se> </div>
固然這一切只是簡化 nz-row
、nz-col
的運用而已,若是你但願佈局也延續這種方式可使用 sg 組件。
除此以外,ng-alain 也將 CSS 作爲開發語言很是重要的組成部分,而且將這些語言特徵轉化成獨立的單元類,若是你是採用 VSCODE 可藉由 ng-alain snippets 提供的智能提醒,減小理解它們的成本。
Angular Cli 提供的 ng update
命令讓咱們能夠大膽重構、改進你的組件,而且用戶升級只須要簡單的一行命令就能夠徹底升級。
從 1.x 升級至 2.x 雖然沒法改變 ts 代碼方面的動做,但基本上能夠完成 HTML 方面的升級,主要仍是 ts 代碼的解析沒法像 HTML 那樣預期。
而 ng-alain 的 1.x 升至 2.0 也只須要一行命令而已,有關更多細節,請參考升級指引。
直到 ng-zorro-antd 下一大版本更新以前,2.0 保持一段時間的休息期,再也不會有新功能。以後,會根據 ng-zorro-antd 的進度,對 ng-alain 作一次大的性能重構。
ng-alain 正在嘗試提供商業主題服務,有興趣能夠參閱。
(完)