亲宝软件园·资讯

展开

Angular4编程之表单响应功能示例

成汤 人气:0

本文实例讲述了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>

至此,一份简单的响应式表单就完成了

希望本文所述对大家AngularJS程序设计有所帮助。

加载全部内容

相关教程
猜你喜欢
用户评论