ng-zorro-antd 入門初體驗
Angular版本的 Ant Design 總算發(fā)布了,其名曰:ng-zorro-antd。
這人要是越期待,心就越著急。早在8月上旬我就開發(fā)好了 ng-zorro-vscode;一個在vscode下的snippets。因此,雖然那時未能探到源代碼,但從官網(wǎng)的SDK中,就已經(jīng)對 ng-zorro-antd 有一定全面性了解。
下面將基于我的理解,從宏觀角度解析一下,或許能幫助你更好的去使用 ng-zorro-antd。
再次說一下,ng-zorro-antd 真的是非常有良心的作品。
一、安裝
ng-zorro-antd
本身只是一個antd組件Angular實現(xiàn)的合集,因此,如果你希望基于 ng-zorro-antd 開發(fā)依然需要先安裝 Angular Cli。
1、創(chuàng)建項目
# 安裝全局,這樣允許直接在CMD命令行中使用 `ng` 命令。 npm install -g @angular/cli@latest # 創(chuàng)建項目 ng new demo # 安裝包 npm install --save ng-zorro-antd
2、導入模塊
我建議在 SharedModuel
中導入模塊。
@NgModule({ imports: [ NgZorroAntdModule.forRoot() ], exports: [ NgZorroAntdModule ] });
3、根組件
務必要引入 nz-root
根組件;有且只需引用一次。部分組件需要依賴 nz-root 所以最佳位置放在根組件內(nèi),比如 ./src/app.component.html
:
<nz-root> <router-outlet></router-outlet> </nz-root>
至此,你可以放心在任何頁面中使用 ng-zorro-antd 組件。
二、最佳實踐
已經(jīng)實現(xiàn)了絕大多數(shù)的 React 版本的組件;雖然今天剛發(fā)布,但是已經(jīng)在阿里內(nèi)部已經(jīng)在使用了。
1、命名
ng-zorro-antd 在命名方面還是很講究的,而且有幾個特點:
- 所有組件、指令都是以 nz- 開頭(例:ng-button)。
- 所有組件、指令屬性都是 nz 開頭,緊跟大駝峰式命名法(例:[nzSize])。
2、柵格
antd 是以 24 等分的柵格來劃分區(qū)域,這一點可能跟經(jīng)常使用 bootstrap 的人會有一點不習慣。
<div nz-row> <div nz-col [nzSpan]="12"></div> <div nz-col [nzSpan]="12"></div> </div>
一個 nz-row 內(nèi)的 nz-col 總格數(shù)([nzSpan] 總和)為24表示一行,如果超過會自動換行。
當然,也支持類似 bootstrap 的響應式設計,內(nèi)置了幾種不同的響應。
Size | ng-zorro-antd | bootstrap |
---|---|---|
auto | [nzXs] | .col-xs- |
540px | [nzSm] | .col-sm- |
720px | [nzMd] | .col-md- |
960px | [nzLg] | .col-lg- |
1140px | [nzXl] | .col-xl- |
如果你喜歡 flex
布局,需要手動開啟:
<div nz-row [nzType]="'flex'" [nzJustify]="'center'" [nzAlign]="'top'"> <div nz-col [nzSpan]="12"></div> <div nz-col [nzSpan]="12"></div> </div>
3、樣式
無須再額外的引用外部任何 antd 的樣式,因為 ng-zorro-antd 是以 encapsulation: ViewEncapsulation.None 不隔離的方式封裝樣式,可以直接在任何地方運用到這些樣式。
比如:
<div class="ant-row"> <div class="ant-col-12">col-12</div> <div class="ant-col-12">col-12</div> </div>
4、時間處理
Angular 默認的時間處理簡直就是一個痛,而 ng-zorro-antd 依賴了 moment,因此在處理時間格式上,正確的姿勢應該是:
_value | nzDate: 'YYYY-MM-DD ddd' Outpu: 2017-08-15 周二
5、貨幣
也是Angular痛點,ng-zorro-antd 并無提供相應Pipe,應該后續(xù)會有!
三、工欲善其事,必先利其器
如果你在 vscode 中編寫Angular,那么安裝 ng-zorro-vscode 代碼片斷,對開發(fā)效率很有幫助。
四、結論
ng-zorro-antd 對Angular應該會有一個非常大的推動。
當前組件與React組件還有幾個比較重要的組件未完成,比如:autocomplate、Cascader 一些很常用的組件。希望有更多大牛加入貢獻行列,讓 ng-zorro-antd 社區(qū)環(huán)境更豐富。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
AngularJS基礎 ng-non-bindable 指令詳細介紹
本文主要講解AngularJS ng-non-bindable 指令,這里幫大家整理了ng-non-bindable指令的基本知識資料,有需要的小伙伴可以參考下2016-08-08angular2/ionic2 實現(xiàn)搜索結果中的搜索關鍵字高亮的示例
這篇文章主要介紹了angular2/ionic2 實現(xiàn)搜索結果中的搜索關鍵字高亮的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08解決angularjs WdatePicker ng-model的問題
今天小編就為大家分享一篇解決angularjs WdatePicker ng-model的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09詳解angular筆記路由之a(chǎn)ngular-router
本篇文章主要介紹了詳解angular筆記路由之a(chǎn)ngular-router,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09在AngularJS應用中實現(xiàn)一些動畫效果的代碼
這篇文章主要介紹了在AngularJS應用中實現(xiàn)一些動畫效果的代碼,AngularJS是一款熱門的JavaScript庫,需要的朋友可以參考下2015-06-06