angular中两种表单的区别(响应式和模板驱动表单)
angular的表单
angular的表单分为两种,一种是响应式的表单,另一种是模板驱动表单。使用'@angular/forms'库中的FormGroup,FormControl,FormArray,FormBuilder等类构建出的数据对象就是响应式的表单,在响应式的表单中,我们会在数据源里面进行各种操作,像添加校验等,在html文件中使用formGroup,formGroupName,formControlName等将数据和视图进行绑定(需要引入ReactiveFormsModule)。
//ts
profileForm=newFormGroup({
firstName:newFormControl(''),
lastName:newFormControl(''),
address:newFormGroup({
street:newFormControl(""),
city:newFormControl(""),
state:newFormControl(""),
zip:newFormControl("")
})
})
//html
模板驱动的表单是我们实例化好一个类的数据之后,在html中使用NgForm指令后将数据和表单进行绑定,使用[(ngModel)]来将表单的数据和和视图进行双向绑定,NgForm指令为form增补了一些额外特性。它会控制那些带有ngModel指令和name属性的元素,监听他们的属性。
//html