Angular10--表单分类

479 阅读1分钟

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 = '';
}

视图 <--> 组件模型