Angular中,有兩種表單實(shí)現(xiàn)方式:響應(yīng)式表單和模板驅(qū)動(dòng)表單。
響應(yīng)式表單是基于響應(yīng)式編程的方式實(shí)現(xiàn)的,它使用FormBuilder和FormControl等類來(lái)創(chuàng)建表單,并使用RxJS庫(kù)中的Observable對(duì)象來(lái)處理表單的值變化和狀態(tài)變化。響應(yīng)式表單的優(yōu)點(diǎn)是可以更好地處理復(fù)雜的表單邏輯,并且可以更好地與其他RxJS操作配合使用。
下面是一個(gè)使用響應(yīng)式表單實(shí)現(xiàn)的示例代碼:
import { Component } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
@Component({
selector: 'app-reactive-form',
template: `
<form [formGroup]="form">
<input type="text" formControlName="name">
<button (click)="onSubmit()">Submit</button>
</form>
`
})
export class ReactiveFormComponent {
form: FormGroup;
constructor(private fb: FormBuilder) {
this.form=this.fb.group({
name: ''
});
}
onSubmit() {
console.log(this.form.value);
}
}
在這個(gè)示例中,我們使用FormBuilder和FormGroup來(lái)創(chuàng)建一個(gè)名為form的表單,并在模板中使用formGroup和formControlName指令來(lái)綁定表單控件和表單組。我們還定義了一個(gè)名為onSubmit的方法來(lái)處理表單提交事件,并在控制臺(tái)中打印出表單的值。
模板驅(qū)動(dòng)表單是基于模板編程的方式實(shí)現(xiàn)的,它使用ngModel指令和模板變量來(lái)創(chuàng)建表單,并在模板中處理表單的值變化和狀態(tài)變化。模板驅(qū)動(dòng)表單的優(yōu)點(diǎn)是更容易理解和使用,但對(duì)于復(fù)雜的表單邏輯可能不太適合。
下面是一個(gè)使用模板驅(qū)動(dòng)表單實(shí)現(xiàn)的示例代碼:
import { Component } from '@angular/core';
@Component({
selector: 'app-template-driven-form',
template: `
<form #form="ngForm" (ngSubmit)="onSubmit(form.value)">
<input type="text" name="name" [(ngModel)]="name">
<button type="submit">Submit</button>
</form>
`
})
export class TemplateDrivenFormComponent {
name: string;
onSubmit(value) {
console.log(value);
}
}
在這個(gè)示例中,我們使用ngForm指令和模板變量#form來(lái)創(chuàng)建一個(gè)名為form的表單,并使用ngModel指令和模板變量name來(lái)綁定表單控件和模型屬性。我們還定義了一個(gè)名為onSubmit的方法來(lái)處理表單提交事件,并在控制臺(tái)中打印出表單的值。
響應(yīng)式表單更適合處理復(fù)雜的表單邏輯,而模板驅(qū)動(dòng)表單更適合快速開(kāi)發(fā)簡(jiǎn)單的表單。但無(wú)論使用哪種表單實(shí)現(xiàn)方式,都需要考慮表單控件的驗(yàn)證和表單數(shù)據(jù)的提交和處理等問(wèn)題。它們各自有不同的優(yōu)點(diǎn)。
響應(yīng)式表單的優(yōu)點(diǎn):
模板驅(qū)動(dòng)表單的優(yōu)點(diǎn):
響應(yīng)式表單更適合處理復(fù)雜的表單邏輯,而模板驅(qū)動(dòng)表單更適合快速開(kāi)發(fā)簡(jiǎn)單的表單。但無(wú)論使用哪種表單實(shí)現(xiàn)方式,都需要考慮表單控件的驗(yàn)證和表單數(shù)據(jù)的提交和處理等問(wèn)題。
在開(kāi)發(fā)復(fù)雜的應(yīng)用的時(shí)候,直接使用angular原生的表單會(huì)感覺(jué)有點(diǎn)吃力,我們可以使用ng-zorro-antd中的表單組件了。
ng-zorro-antd是一個(gè)基于Angular的UI組件庫(kù),其中包括了許多表單相關(guān)的組件,如nz-form、nz-form-item、nz-form-control等。這些組件可以幫助我們更快速地開(kāi)發(fā)出符合UI規(guī)范的表單,提高開(kāi)發(fā)效率和用戶體驗(yàn)。
下面簡(jiǎn)要介紹一下ng-zorro-antd中的表單組件:
以上是ng-zorro-antd中的一些常用表單組件,它們具有良好的UI設(shè)計(jì)和豐富的功能,可以滿足大部分表單需求。同時(shí),ng-zorro-antd還提供了一些其他的表單組件,如nz-cascader、nz-slider等,可以根據(jù)具體需求進(jìn)行選擇和使用。
Angular中響應(yīng)式表單和模板驅(qū)動(dòng)表單
原文鏈接:https://juejin.cn/post/7282692430117175315
應(yīng)式布局是2010年就被提出來(lái)的概念,直到今年才開(kāi)始被中小企業(yè)重視。還是因?yàn)槭袌?chǎng)上的手機(jī)屏幕太多,更新?lián)Q代太快,企業(yè)好不容易搞定目前市面上這一波的屏幕適應(yīng)問(wèn)題,新一批手機(jī)又要發(fā)布了,計(jì)劃永遠(yuǎn)趕不上變化。
這時(shí)候,響應(yīng)式布局仿佛打怪適時(shí)出現(xiàn)的超人,適應(yīng)任何尺寸的屏幕,幫助企業(yè)解決了所有問(wèn)題。他們嘗到響應(yīng)網(wǎng)站的甜頭之后,都希望擁有一個(gè)自己的響應(yīng)式網(wǎng)頁(yè)。
為了能少花錢(qián)少花時(shí)間,他們?cè)诎俣容斎肓恕叭绾慰焖匍_(kāi)發(fā)HTML5響應(yīng)式網(wǎng)頁(yè)”。
這時(shí)候就有一些程序大神義憤填膺地輸入一堆代碼,說(shuō)什么其實(shí)很簡(jiǎn)單啦,先創(chuàng)建一個(gè)空白的HTML5模板,復(fù)制這串代碼,再?gòu)?fù)制那串代碼,然后在哪哪加一串標(biāo)簽代碼,響應(yīng)式網(wǎng)站就做好了!超!簡(jiǎn)!單!
在不懂代碼的小編看來(lái),這說(shuō)的都是什么跟什么,一點(diǎn)都不接地氣。
什么樣的速度才叫快呢?
提問(wèn)者理想中的快應(yīng)該是這樣的:最好不要超過(guò)三天,不用耗費(fèi)很大工程量,不用花很多錢(qián),最好按兩下鼠標(biāo)網(wǎng)站就能做好,做出來(lái)的效果不要太爛,網(wǎng)站要穩(wěn)定,真正響應(yīng)式。
互聯(lián)網(wǎng)時(shí)代,沒(méi)什么是不可能的。前幾年要有人提出這種要求,還真的是天馬行空,但現(xiàn)在,要實(shí)現(xiàn)起來(lái)還真的很輕松!用建站寶盒V9就可以了!
建站寶盒是一款自助建站工具,對(duì)企業(yè)來(lái)說(shuō)一點(diǎn)也不陌生,甚至某些企業(yè)對(duì)自助建站是有點(diǎn)誤解的,認(rèn)為自助建站就代表著不靠譜。但寶盒更顯到第九代,如果真的像某些企業(yè)想的那么不堪,早就被市場(chǎng)淘汰了。
用建站寶盒V9怎么快速開(kāi)發(fā)HTML5響應(yīng)式網(wǎng)頁(yè)呢?很簡(jiǎn)單,登錄后臺(tái),選擇你們喜歡的模板,一千多套總有一套是你的菜。選好后點(diǎn)擊“安裝”,就能進(jìn)入網(wǎng)站編輯界面。
之后就是傻瓜式的網(wǎng)站編輯了,雙擊網(wǎng)站模塊就能進(jìn)行修改、圖片、視頻上傳等操作。V9版本還加入了創(chuàng)新性的自由布局,在這種布局下,用戶可自由添加模塊,設(shè)置H5動(dòng)畫(huà)。
網(wǎng)站編輯好后就能進(jìn)行預(yù)覽,建站寶盒做的網(wǎng)站是電腦、手機(jī)、微信三站合一的,做好一個(gè)電腦網(wǎng)站,就相當(dāng)于擁有三個(gè)網(wǎng)站。網(wǎng)頁(yè)打開(kāi)速度更是比傳統(tǒng)網(wǎng)站快7倍,真正的快速+響應(yīng)!至于收錄的問(wèn)題,H5響應(yīng)式網(wǎng)站因?yàn)閾碛歇?dú)特的標(biāo)簽,能更快被搜索引擎抓取,根本不用擔(dān)心找不到網(wǎng)站。價(jià)格也不貴,還有免費(fèi)版的!
馬上快速開(kāi)發(fā)H5響應(yīng)式網(wǎng)站:http://www.iisp.com/design/
更多建站&互聯(lián)網(wǎng)行業(yè)資訊,敬請(qǐng)關(guān)注微信公眾號(hào):耐思尼克(iisp-com)
端開(kāi)發(fā)比設(shè)計(jì)和程序都要難做在于,要做好前端需要對(duì)設(shè)計(jì)和程序都有些許了解,當(dāng)然這個(gè)只是額外需要了解的,主要還需要精通html,css,javascript,jQuery,響應(yīng)式布局,移動(dòng)網(wǎng)頁(yè)布局等經(jīng)驗(yàn),當(dāng)然時(shí)刻關(guān)注web前端技術(shù)也不可少,下面介紹了15款流行的響應(yīng)式css框架。
前端開(kāi)發(fā)并不是一個(gè)容易的工作,不僅需要掌握HTML、CSS和JavaScript,針對(duì)不同的瀏覽器版本和平臺(tái),還需要了解如何設(shè)計(jì)出跨平臺(tái)的網(wǎng)站。如今隨著響應(yīng)式設(shè)計(jì)的流行,前端開(kāi)發(fā)變得越來(lái)越困難,且花費(fèi)的時(shí)間更長(zhǎng)。
本文收集了15個(gè)響應(yīng)式前端開(kāi)發(fā)框架,可以幫助前端開(kāi)發(fā)人員大大簡(jiǎn)化開(kāi)發(fā)過(guò)程。針對(duì)每個(gè)框架,文中均指出了它所包含的UI組件及JavaScript插件。幾乎所有的框架都采用了響應(yīng)式網(wǎng)格系統(tǒng)。
使用這些前端框架,有如下好處:
跨瀏覽器。這一點(diǎn)已被證實(shí)。
一致性。UI組件,如導(dǎo)航、按鈕、標(biāo)簽、表單、下拉框、表格……,在設(shè)計(jì)上保持風(fēng)格一致。
快速開(kāi)發(fā)。你可以快速、容易地構(gòu)建布局。這些框架都配有詳細(xì)的說(shuō)明文檔。
響應(yīng)式。所有CSS組件及JavaScript插件可以很好地從桌面過(guò)渡到移動(dòng)設(shè)備上。
快切css
快切css是由切圖網(wǎng)推出的一款響應(yīng)式css框架——Quickcss,最早10年就推出了,算是國(guó)內(nèi)css框架鼻祖了,后經(jīng)過(guò)不斷衍化,逐步完善了不足之處,它的最大特色在于簡(jiǎn)單易用,和兼容性強(qiáng),兼容ie6+,firefox,chrome等瀏覽器和移動(dòng)設(shè)備。
http://kuai.qietu.com
InK
Ink為一個(gè)界面工具包,用于快速開(kāi)發(fā)Web界面,具有易于使用、易于擴(kuò)展特點(diǎn)。它可以為構(gòu)建布局提供解決方案,可以展示普通的界面元素,可以實(shí)現(xiàn)以內(nèi)容為中心、對(duì)用戶友好的交互方式。
HTML&CSS:布局、導(dǎo)航、排版、圖標(biāo)、表單、提示框、表格
JS:Gallery、表格、樹(shù)視圖、排序列表、日期選擇插件、制表符、表單驗(yàn)證及一些行為(停靠、折疊、關(guān)閉)
其他:Sass Mixins
GroundworkCSS Beta
GroundworkCSS是一個(gè)基于Sass預(yù)處理器的開(kāi)源項(xiàng)目 ,主要用于快速構(gòu)建響應(yīng)式Web應(yīng)用程序。擁有一個(gè)靈活的、可嵌套的網(wǎng)格系統(tǒng),可以創(chuàng)建適應(yīng)多種瀏覽設(shè)備的布局。GroundworkCSS還提供多種UI 組件,如導(dǎo)航、按鈕、圖標(biāo)、表單、Tabs、對(duì)話框、工具提示等等。
HTML&CSS:網(wǎng)格、布局、排版、按鍵、標(biāo)題、表單、圖標(biāo)、社交圖標(biāo)、響應(yīng)式文本、對(duì)話框、工具提示
JS:導(dǎo)航、制表符(Tab)、提示框、Cycle2
其他:Sass Mixins
Ivory
這是一個(gè)靈活、強(qiáng)大的響應(yīng)式Web框架,使Web開(kāi)發(fā)更快速、更簡(jiǎn)單。
HTML&CSS:網(wǎng)格、排版、表單、按鈕、提示框、頁(yè)碼、面包屑導(dǎo)航(breadcrumb)、列表、表格
JS:提示框、制表符(Tab)、切換開(kāi)關(guān)(Toggle switch)、折疊
ZURB
Foundation由ZURB公司設(shè)計(jì),ZURB是一家產(chǎn)品設(shè)計(jì)公司,位于加州坎貝爾。Foundation為最先進(jìn)的響應(yīng)式前端開(kāi)發(fā)框架,它擁有很多布局模板、CSS樣式表及自己開(kāi)發(fā)的優(yōu)秀JavaScript插件。
HTML&CSS:網(wǎng)格、布局模板、圖標(biāo)字體、響應(yīng)式表格、SVG格式的社交圖標(biāo)、頁(yè)碼、面包屑導(dǎo)航(breadcrumbs)、側(cè)導(dǎo)航、按鍵、排版、標(biāo)簽、提示框、面板、價(jià)格表、進(jìn)度欄、表格、縮略圖
JS:下拉按鈕、拆分按鈕、轉(zhuǎn)換開(kāi)關(guān)、Flex視頻、燈箱、下拉、響應(yīng)式布局(通過(guò)轉(zhuǎn)換圖片大小來(lái)實(shí)現(xiàn))、旅游導(dǎo)航、麥哲倫全局導(dǎo)航(Magellan Sticky Nav)、Orbit圖片滑動(dòng)幻燈片插件等
其他:可定制皮膚表單(Custom Skinned Forms)、SCSS Mixin
Grumby
Gumby 2基于Sass開(kāi)發(fā)。Sass為功能強(qiáng)大的CSS預(yù)處理器,利用它可以快速開(kāi)發(fā)Gumby。
HTML&CSS:網(wǎng)格、表單、按鈕、導(dǎo)航、標(biāo)簽、Entypo圖標(biāo)
JS:下拉、浮窗、制表符(Tab)、開(kāi)關(guān)與轉(zhuǎn)換(Toggles & Switches)
其他:可定制皮膚表單(Custom Skinned Forms)、SASS和Compass
HTML KickStart
該框架集合了HTML5、CSS和JavaScript,幫助開(kāi)發(fā)人員快速開(kāi)發(fā)Web產(chǎn)品。它覆蓋了所有UI組件,同時(shí)也包含一些有用的JavaScript插件。
HTML&CSS:網(wǎng)格、排版按鈕、列表、表格、圖標(biāo)、面包屑導(dǎo)航、圖片、表單
JS:菜單、代碼高亮插件、制表符(Tab)、幻燈片播放、表單驗(yàn)證
其他:CSS幫助文檔
Maxmertkit
Maxmertkit擁有完整的文檔,包含大量實(shí)例,并且提供了拖拽生成代碼的功能。
HTML&CSS:網(wǎng)格、布局、徽章、按鈕、表單、圖標(biāo)、標(biāo)簽、菜單、進(jìn)度欄、表格、下拉、工具提示
JS:按鈕、旋轉(zhuǎn)木馬、通知、彈出框、滾動(dòng)條、制表符(Tab)
其他: Sass、Coffee腳本語(yǔ)言
Twitter Bootstrap
大家對(duì)Twitter Bootstrap已十分熟悉了。憑借全面的UI組件、易用的網(wǎng)格和組件,Bootstrap已成為眾多設(shè)計(jì)者和開(kāi)發(fā)者最喜歡的快速開(kāi)發(fā)工具。現(xiàn)在已經(jīng)有很多第三方Bootstrap程序和JavaScript插件可供使用。
HTML&CSS:網(wǎng)格、布局、排版、編碼、表格、表單、按鍵、圖片、圖標(biāo)、按鈕組、導(dǎo)航、面包屑導(dǎo)航、頁(yè)碼、標(biāo)簽、徽章、縮略圖、提示框、進(jìn)度欄
JS:模態(tài)窗口(Modals)、提示效果(Tool Tips)、“泡芙”效果(Popovers)、滾動(dòng)監(jiān)控(Scrollspy)、旋轉(zhuǎn)木馬(Carousel)、輸入提示(Typeahead)等等。
其他:定制器(Customizer)、 LESS CSS
Skeleton
Skeleton 是一個(gè)小的JS和CSS文件集合,可幫你快速開(kāi)發(fā)漂亮的網(wǎng)站,適合各種屏幕設(shè)備,包括手機(jī)。Skeleton基于960 Grid開(kāi)發(fā),是一個(gè)UI框架。
HTML&CSS:GRid、排版、按鈕、表單、媒體查詢(Media Queries)
Kube
Kube是一款最小化的,支持響應(yīng)式的前端框架,包括一個(gè)簡(jiǎn)潔的CSS文件,用于方便地創(chuàng)建響應(yīng)式布局,包括了兩個(gè)JS文件來(lái)完成Tab以及頁(yè)面的按鈕操作。
HTML&CSS:排版、網(wǎng)格、表單、表格、按鈕、導(dǎo)航、圖標(biāo)
JS:按鈕、制表符(Tab)
其他: LESS CSS
Helium
Helium是一個(gè)前端響應(yīng)式Web框架,使用HTML5、CSS3快速制作原型以及開(kāi)發(fā)產(chǎn)品。Helium很像Twitter Bootstrap和ZURB Foundation,事實(shí)上,Helium使用了兩者不少的代碼。但與這兩個(gè)框架不同的是,Helium設(shè)計(jì)更加輕量級(jí),而且更容易修改。Helium只有30KB左右,而B(niǎo)ootstrap有100KB,ZURB有200多KB。
HTML&CSS:網(wǎng)格、按鈕、排版、表單
JS:下拉、表單驗(yàn)證
其他:Sass、Compass
The Markup Framework
Markup是一套集布局、小組件、UI組件和字體排版樣式為一體的框架。它可以作為你設(shè)計(jì)自己網(wǎng)站的起點(diǎn)。
HTML&CSS:布局、網(wǎng)格、排版、表單、按鈕、面包屑導(dǎo)航、導(dǎo)航列表、導(dǎo)航菜單
JS:沒(méi)有JavaScripts,只有單純的CSS
Topcoat
TopCoat是一套免費(fèi)的開(kāi)源UI元素類庫(kù),整套類庫(kù)不使用任何JavaScript,而是使用CSS和HTML來(lái)生成。
HTML&CSS:圖標(biāo)、字體、按鍵、面包屑導(dǎo)航、表單、下拉、滑動(dòng)開(kāi)關(guān)、選擇、滾動(dòng)條、切換按鈕
JS:沒(méi)有JavaScripts,只有單純的CSS
PureCSS
Pure是一個(gè)相當(dāng)小的框架,壓縮及最小化后僅有5.7KB。它沒(méi)有使用任何JavaScript,只是HTML和CSS。該CSS框架為響應(yīng)式布局,采用模塊化結(jié)構(gòu),每個(gè)模塊的樣式可以單獨(dú)使用。
HTML&CSS:網(wǎng)格、排版、表單、按鍵、表格、菜單
JS:沒(méi)有JavaScripts,只有單純的CSS
其他:程序皮膚制作工具(Skin Builder)、YU 庫(kù)。
結(jié)論
根據(jù)你的需要,選擇可以與設(shè)計(jì)相匹配的框架。我們不應(yīng)該根據(jù)框架來(lái)構(gòu)建網(wǎng)站,因?yàn)樗鼤?huì)很大程度上限制設(shè)計(jì)者的思維。
如果前端設(shè)計(jì)/布局不是那么重要,那么我們可以選擇使用某一框架。(編譯:陳秋歌/責(zé)編:夏夢(mèng)竹)
原文來(lái)自:queness.com
切圖網(wǎng)是國(guó)內(nèi)網(wǎng)頁(yè)前端開(kāi)發(fā)服務(wù)領(lǐng)跑者,提供專業(yè)的網(wǎng)頁(yè)切圖前端開(kāi)發(fā)服務(wù)。
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。