无法设置输入字段的值

Not able to set value of input field

我正在尝试检查对象是否具有值并且不会引发错误。如果是这样,将其作为输入字段的值传递。

export class DialogServiceTabletAddRowComponent implements OnInit {
  service?: string;

  constructor(private _dialogRef: MatDialogRef<DialogServiceTabletAddRowComponent>, private _fb: FormBuilder, @Inject(MAT_DIALOG_DATA) public data: ServiceDataToDialog) {
    try {
      this.service = this.data[this.data.id].allServices[this.data.id][this.data.id].service;
    }
    catch (e) {
      this.service = '';
    }
    console.log(this.service);
    })

  }

  mainForm = this._fb.group({
    service: [this.service, Validators.required]
  })


}

console.log(this.service); 给了我正确的值,但我的输入字段的值仍然是空的。怎么来的?

this.mainForm = this._fb.group... 代码放在 try/catch 之后的构造函数中。同时添加 public mainForm: FormGroup 作为 class 属性

这里的问题是 TypeScript 如何处理初始化 class 属性。在引擎盖下它立即在构造函数中初始化它们