Angular ngOnInit 对象 属性 始终未定义,尽管该对象具有值

Angular ngOnInit the object property is always undefined despite the the object has value

我有一个 angular 项目,目前我正在尝试在 ngOnInit 方法上设置反应式表单值。我从后端服务器通过 http 调用获取数据。在 ngOnInit 方法中,我可以在浏览器控制台上监视数据;但是数据对象的属性总是未定义,尽管对象具有具有适当值的属性。

以下是感兴趣的代码块:

 ngOnInit(): void {
    this.clientService.getClientBusinessYearDetails(this.clientBusinessYearId).subscribe(data  => {
         console.warn(data);
         console.warn(data.clientName);
         this.organizationDetailsFormValues.contactPerson = data?.clientName;
         this.clientProfileForm.controls.organizaionDetails.setValue(this.organizationDetailsFormValues);
    });
  }

您可以在浏览器控制台的屏幕截图上看到详细信息,数据对象有一个正确的 clientName 属性 但是当我尝试时它显示 null在其他地方使用它:

我想设置其值的表单是一种反应式表单,它有几个来自内部组件的子表单组。我有意简化了 ngOnInit 方法,以便于阅读。 当我将表单控件设置为硬编码时它正在工作并且值显示在表单上但是当我将控件的值设置为上面时它没有显示因为 属性 值未定义。

有什么想法吗?我检查了这个 ,它非常相似,但我的目标不是在控制台上显示 属性 的值。

data是一个数组,只需要给这个数组的第一个元素赋值即可。

 ngOnInit(): void {
    this.clientService.getClientBusinessYearDetails(this.clientBusinessYearId).subscribe(data  => {
         console.warn(data);
         console.warn(data[0].clientName);
         this.organizationDetailsFormValues.contactPerson = data[0]?.clientName;
         this.clientProfileForm.controls.organizaionDetails.setValue(this.organizationDetailsFormValues);
    });
  }