站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        angular學(xué)習(xí)之聊聊兩種類型的表單

        本篇文章帶大家了解一下angular中的表單,了解一下兩種類型的表單:模板驅(qū)動(dòng)和模型驅(qū)動(dòng),希望對(duì)大家有所幫助!

        angular學(xué)習(xí)之聊聊兩種類型的表單

        在 Angular 中,表單有兩種類型,分別為模板驅(qū)動(dòng)模型驅(qū)動(dòng)。【相關(guān)教程推薦:《angular教程》】

        一、模板驅(qū)動(dòng)

        1.1 概述

        表單的控制邏輯寫(xiě)在組件模板中,適合簡(jiǎn)單的表單類型。

        1.2 快速上手

        1)、引入依賴模塊 FormsModule

        import { FormsModule } from "@angular/forms"  @NgModule({   imports: [FormsModule], }) export class AppModule {}

        2)、將 DOM 表單轉(zhuǎn)換為 ngForm

        <form #f="ngForm" (submit)="onSubmit(f)"></form>

        3)、聲明表單字段為 ngModel

        <form #f="ngForm" (submit)="onSubmit(f)">   <input type="text" name="username" ngModel />   <button>提交</button> </form>

        4)、獲取表單字段值

        import { NgForm } from "@angular/forms"  export class AppComponent {   onSubmit(form: NgForm) {     console.log(form.value) // {username: ''}   } }

        5)、表單分組

        <form #f="ngForm" (submit)="onSubmit(f)">   <div ngModelGroup="user">     <input type="text" name="username" ngModel />   </div>   <div ngModelGroup="contact">     <input type="text" name="phone" ngModel />   </div>   <button>提交</button> </form>
        import { NgForm } from "@angular/forms"  export class AppComponent {  onSubmit(form: NgForm) {    console.log(form.value) // {contact: {phone: ''}, user:{username: ''}}  } }

        1.3 表單驗(yàn)證

        • required 必填字段
        • minlength 字段最小長(zhǎng)度
        • maxlength 字段最大長(zhǎng)度
        • pattern 驗(yàn)證正則 例如:pattern=“d” 匹配一個(gè)數(shù)值
        <form #f="ngForm" (submit)="onSubmit(f)">   <input type="text" name="username" ngModel required pattern="d" />   <button>提交</button> </form>
        export class AppComponent {   onSubmit(form: NgForm) {     // 查看表單整體是否驗(yàn)證通過(guò)     console.log(form.valid)   } }
        <!-- 表單整體未通過(guò)驗(yàn)證時(shí)禁用提交表單 --> <button type="submit" [disabled]="f.invalid">提交</button>

        在組件模板中顯示表單項(xiàng)未通過(guò)時(shí)的錯(cuò)誤信息。

        <form #f="ngForm" (submit)="onSubmit(f)">   <input #username="ngModel" />   <div *ngIf="username.touched && !username.valid && username.errors">     <div *ngIf="username.errors.required">請(qǐng)?zhí)顚?xiě)用戶名</div>     <div *ngIf="username.errors.pattern">不符合正則規(guī)則</div>   </div> </form>

        指定表單項(xiàng)未通過(guò)驗(yàn)證時(shí)的樣式。

        input.ng-touched.ng-invalid {   border: 2px solid red; }

        二、模型驅(qū)動(dòng)

        2.1 概述

        表單的控制邏輯寫(xiě)在組件類中,對(duì)驗(yàn)證邏輯擁有

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 99精品视频在线观看re| 国产精品免费久久久久久久久 | 亚洲精品456播放| 国产精品毛片久久久久久久 | 欧美精品手机在线播放| 精品亚洲麻豆1区2区3区| 午夜福利麻豆国产精品| 国产精品国产三级在线专区| 久久精品毛片免费观看| 亚洲精品国产精品乱码不卞| 国产精品99久久久久久www| 国产精品186在线观看在线播放| 亚洲国产精品一区二区成人片国内 | 亚洲AV无码精品色午夜在线观看| 99久久精品国产麻豆| 久久99国产综合精品免费| 亚洲国产精品人人做人人爱| 九九久久精品国产| 国产精品视频九九九| 四虎影视国产精品永久在线 | 国产精品亚洲欧美一区麻豆| 精品无码国产一区二区三区51安| 无码人妻一区二区三区精品视频| 狠狠色伊人久久精品综合网| 国产精品无码无卡无需播放器| 欧美精品国产日韩综合在线| 久久777国产线看观看精品| 99在线精品视频观看免费| 日韩精品久久无码中文字幕| 中文字幕久久精品无码| 婷婷精品国产亚洲AV麻豆不片 | 久久久久人妻精品一区三寸蜜桃| 999久久久国产精品| 中国国产精品| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 99RE8这里有精品热视频| 欧美大片日韩精品| 亚洲精品自产拍在线观看动漫| 99re66热这里只有精品| 成人久久精品一区二区三区| 精品国产污污免费网站|