Form 的最高奧義就是獲取信息和傳遞信息
-- 鳩斯沃爍德
在angular德開發(fā)環(huán)境下,form是個(gè)重要的東西正蛙,用于獲取數(shù)據(jù)乒验,submit數(shù)據(jù)蒂阱。
四個(gè)要說的方面:獲取數(shù)據(jù)狂塘,submit數(shù)據(jù)荞胡,數(shù)據(jù)德有效監(jiān)測(cè)泪漂,和一些style歪泳。
首先,先說button呐伞,如果form中有多個(gè)button荸哟,默認(rèn)type=submit鞍历,除非寫上type=button
下面,正題
獲取數(shù)據(jù)
第一劣砍,我們就說數(shù)據(jù)的傳遞 (ngModel)扇救。
form的基本建立完成之后迅腔,要在input里面填寫用戶信息,但是要在ts文件中獲取信息呢沧烈?我們?cè)撊绾巫瞿兀gModel蚂夕。在內(nèi)部加上這個(gè)婿牍,就起到了數(shù)據(jù)綁定的效果
1. 單個(gè)信息數(shù)據(jù)綁定: [(ngModel)]="ts參數(shù)" 這是input中基本的數(shù)據(jù)綁定
2. 一次性將整個(gè)form傳給ts惩歉,ts來解析數(shù)據(jù):
有兩種方法俏蛮,
1嫁蛇, 在ngSubmit的時(shí)候露该,將#reference = “a name” 傳入
2. @ViewChild( 'referenced element') ElementInTsFile,?
第二,submit數(shù)據(jù)抑党,
見之前button講的東西
第三撵摆,數(shù)據(jù)的數(shù)據(jù)的有效監(jiān)測(cè)
angular 傳進(jìn)來的form有很多屬性,又一個(gè)就是valid暑中, 比如input是required鳄逾,email的情況下,輸入的數(shù)據(jù)無效雕凹,那么枚抵,valid是false
第四明场,數(shù)據(jù)無效的時(shí)候的一些樣式?
當(dāng)數(shù)據(jù)無效的時(shí)候,angular會(huì)自動(dòng)為數(shù)據(jù)加上ng-invalid, 就可以控制樣式竖慧,有時(shí)逆屡,整個(gè)form都會(huì)加上這樣的樣式魏蔗,只要使input.ng-invalid就可以避免這樣的問題了。
還有ng-touched class廓鞠,選中了之后,就會(huì)加上ng-touched class,?
一般順序是
input.ng-invalid-ng-touched {} 來控制樣式