Angular 2 : ERROR TypeError: Cannot read property 'value' of undefined

Angular 2 : ERROR TypeError: Cannot read property 'value' of undefined

单击“提交”按钮后,浏览器控制台出现以下错误。

在此应用程序中,我试图获取有关以下学生上传代码的信息。 我无法找到为什么在控制台上显示此错误。 我已经正确添加了 formControlName。

  1. 组件

            import { Component, OnInit, Inject } from '@angular/core';
            import { FormGroup, FormControl, Validators, FormBuilder, AbstractControl } from '@angular/forms';
    
            @Component({
              selector: 'app-new-record',
              templateUrl: './new-record.component.html',
              styleUrls: ['./new-record.component.css']
            })
            export class NewRecordComponent implements OnInit {
              myFormGroup: FormGroup;
              constructor(private formBuilder: FormBuilder) {
                this.myFormGroup = this.formBuilder.group({
                  name: new FormControl('', Validators.compose([
                    Validators.required
                  ])),
                  claz: new FormControl('BCA'),
                  admissionYear: new FormControl(Validators.compose([Validators.required]))
                });
              }
    
              ngOnInit() {
    
              }
    
              onSubmit(student) {
                console.log('onSubmit called !');
              }
    
            }
    
    1. 模板

          <form [formGroup]="myFormGroup"
          (ngSubmit)="onSubmit(form.value)">
              <div class="form-group">
                  <label for="claz">Class:</label> <select name="claz" formControlName="claz">
                      <option value="MCA">MCA</option>
                      <option value="BCA">BCA</option>
                      <option value="M.Sc">M.Sc</option>
                      <option value="B.Tech">B.Tech</option>
                  </select>
              </div>
              <div class="form-group">
                  <label for="name">Name:</label> <input type="text"
                      class="form-control" id="name" formControlName="name">
              </div>
              <div class="form-group">
                  <label for="admissionYear">Admission Year:</label> <input type="number"
                      class="form-control" id="admissionYear" formControlName="admissionYear">
              </div>
              <button type="submit" class="btn btn-default" >Submit</button>
          </form>
      

没有定义form,而是使用已定义为formGroup

myFormGroup
(ngSubmit)="onSubmit(myFormGroup.value)"