站長(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)
        主站蜘蛛池模板: 久久精品国产亚洲AV无码麻豆| 亚洲国产精品一区二区第一页| 国内精品久久久久影院网站| 亚洲AV永久无码精品一区二区 | 亚洲国产第一站精品蜜芽| 欧美日韩精品一区二区| 宅男在线国产精品无码| 国产精品主播一区二区| 久久91综合国产91久久精品| 色偷偷88888欧美精品久久久| 久久九九久精品国产免费直播| 欧美精品免费线视频观看视频| 国精品午夜福利视频不卡麻豆| 亚洲精品一级无码中文字幕| 久久精品国产黑森林| 99国内精品久久久久久久| 国产国拍亚洲精品mv在线观看 | 伊人久久精品无码av一区| 国产在AJ精品| 国产成人精品午夜福麻豆| 国产精品莉莉欧美自在线线| 经典国产乱子伦精品视频| 日韩精品专区AV无码| 亚洲av无码国产精品色午夜字幕| 天天视频国产精品| 久久久久成人精品无码| 精品国产一级在线观看| 国产精品亚洲专区无码WEB| 99熟女精品视频一区二区三区 | 亚洲精品~无码抽插| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲精品网站在线观看不卡无广告| 久久精品成人欧美大片| 国产综合精品久久亚洲| 国产欧美日本亚洲精品一5| 国产精品日韩深夜福利久久| 国产精品v欧美精品v日韩| 97国产视频精品| 国产福利精品在线观看| 国产精品午夜久久| 国产中文在线亚洲精品官网|