呼叫服务并返回未定义的数据

时间:2019-06-14 01:06:34

标签: angular typescript swagger

它可能有些愚蠢的东西,但我无法很快解决。

我使用SwaggerService返回数据,但未定义。

import {SwaggerService} from '../../services/swagger.service';

export class TestComponent implement OnInit {
  public mydata:Object;

  constructor(public readonly service: SwaggerService)
  {
     this.service = this.service['GetData'].get().subscribe(
      data=>{
          this.mydata['data']=data;
      },
      error=>console.error(error)

     );
   }
}

事情是data返回一个包含详细值的数组。但是this.mydata['data']返回一个数组,但是没有数据,它是未定义的。

该服务来自.net控制器。我确定有数据,并在chrome调试器中进行了验证。

我必须做一些映射吗?

1 个答案:

答案 0 :(得分:1)

这里的问题是您尚未初始化mydata变量。您已将mydata声明为Object,但在为其分配值之前,其初始值为undefined

尝试将mydata初始化为空对象。那应该可以解决您的问题。

编辑:如评论中提到的@Narm以及她提供的链接所示,请使用非原始object类型而不是Object

public mydata: object = {};