如果Angular FormGroup的onSubmit没有触发,可能是以下几个原因导致的:
确保在HTML模板中正确地绑定FormGroup和表单元素,例如:
确保在组件中正确地定义FormGroup,并将其与表单元素进行关联,例如:
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
@Component({
selector: 'app-my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.css']
})
export class MyComponentComponent implements OnInit {
myForm: FormGroup;
constructor(private formBuilder: FormBuilder) { }
ngOnInit() {
this.myForm = this.formBuilder.group({
name: ['', Validators.required]
});
}
onSubmit() {
console.log(this.myForm.value);
}
}
确保在模板中使用了FormGroup所需的表单指令,例如formGroup和formControlName。
如果你使用的是模板驱动表单(Template-driven Forms),确保在需要使用的组件中引入FormsModule。如果你使用的是响应式表单(Reactive Forms),确保在需要使用的组件中引入ReactiveFormsModule。
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
@NgModule({
imports: [
FormsModule,
ReactiveFormsModule
],
// ...
})
export class AppModule { }
通过检查上述几个方面,你应该能够解决Angular FormGroup的onSubmit没有触发的问题。