Angular提供两种方法来处理表单:响应式表单、模板驱动式表单。 使用表单控件有三个步骤:
- 1、在应用中注册响应式表单模块
- 2、生成一个新的FormControl实例,并把它保存在组件中
- 3、在模板中注册这个FormControl
响应式表单
在响应式表单中,视图中的每个表单元素都直接链接到一个表单模型(FormControl 实例)
import { Component } from '@angular/core';
import { FormControl } from '@angular/forms';
@Component({
selector: 'app-reactive-favorite-color',
template: `
Favorite Color: <input type="text" [formControl]="favoriteColorControl">
`
})
export class FavoriteColorComponent {
favoriteColorControl = new FormControl('');
}
视图 <--> 组件模型 模板中使用的[formControl]指令由ReactiveFormsModules中的FormControlDirective提供的。
模板驱动式表单
在模板驱动表单中,表单模型是隐式的,而不是显式的。指令 NgModel 为指定的表单元素创建并管理一个 FormControl 实例。
import { Component } from '@angular/core';
@Component({
selector: 'app-template-favorite-color',
template: `
Favorite Color: <input type="text" [(ngModel)]="favoriteColor">
`
})
export class FavoriteColorComponent {
favoriteColor = '';
}
视图 <--> 组件模型