从计划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 正在尝试提供商业主题服务,有兴趣能够参阅。
(完)