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