Angular4学习笔记之表单

Angular4我自己还在摸索学习中,这个系列中的笔记会不定期修改和更新……

一、响应式表单

1、响应式表单需要在appmodule文件中注入响应式表单模块

import { FormsModule, ReactiveFormsModule } from '@angular/forms';
<!-- 
    这里引用模块的时候要注意,具体是哪个module文件使用了表单,
    因为在某些情况下表单是被appmodule下的某个子module文件使用,
    那么就要在该子module文件中引入响应式表单模块。
-->
@NgModule(
    {imports: [FormsModule, ReactiveFormsModule……]
    ……}

2、form.component.ts组件当中引用

第一种方式:

import { Component } from '@angular/core';
import { FormGroup, FormControl, FormBuilder} from '@angular/forms';


@Component({
  templateUrl: 'forms.component.html'
})
export class FormsComponent {

  formModel: FormGroup;

  constructor(fb: FormBuilder) {
    this.formModel= fb.group({
      formControl1: [''],
      formControl2: [''],
      ……
    });
  }

  onSubmit () {
    console.log(this.formModel.value);
  }

}

第二种方式:

import { Component } from '@angular/core';
import { FormGroup, FormControl} from '@angular/forms';


@Component({
  templateUrl: 'forms.component.html'
})
export class FormsComponent {

  formModel: FormGroup;  /*这里定义表单变量名,HTML文件中绑定时使用*/

  constructor() {
    this.formModel= new FormGroup({
        formControl1: new FormControl(),
        formControl2: new FormControl(),
        ……
    });
  }

  onSubmit () {
    console.log(this.formModel.value);
  }
}

3、对应的HTML文件

<form action="" method="post" [formGroup]='formModel'> <!-- 通过指令绑定ts文件中命名的变量名 --!>
   <div class="form-group row">
     <div class="col-md-6">
       <div class="row">
         <label>formControl1</label>
         <input type="text" formControlName='formControl1'>
       </div>
     </div>
     <div class="col-md-6">
       <div class="row">
          <label>formControl2</label>
       <input type="text" formControlName='formControl2'>
       </div>
     </div>
   </div>
 </form>

4、一份简单的响应式表单就完成了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值