首页 > 解决方案 > 角度打字稿语法如何使用两个聚合对象访问返回数据

问题描述

我一直坚持这种打字稿语法,其中 WebAPI 返回带有两个对象的 DTO。以下返回对象是:

{
  "userList": [{
      "id": 1,
      "firstNm": "John",
      "lastNm": "Doe"
    },
    {
      "id": 2,
      "firstNm": "Jim",
      "lastNm": "Doe"
    }
  ],
  "selectedIds": [158, 155]
}

在我的Angular TS 代码中,我得到了users以下代码any[]any[]

我也尝试过声明用户接口,memberList: any[]但得到了相同的错误消息。所以在定义users: any[]and时User[],我得到了同样的信息。

任何帮助表示赞赏。

谢谢,

getUsers() {
  this.meetingService.GetCommitteeMembersAsync(this.request.meetingId)
    .subscribe((data: any[]) => {
      var _test = data;
      this.users = _test.userList;
    });
}

标签: angulartypescript

解决方案


你的data遗嘱是类型ComitteeMembersData,而用户是UserList

users: UserList[]; // or ReadonlyArray<UserList>
...
.subscribe((data: ComitteeMembersData) => {
 // do something in here
}



export interface ComitteeMembersData{
    userList:    UserList[];
    selectedIds: number[];
}

export interface UserList {
    id:      number;
    firstNm: string;
    lastNm:  string;
}

推荐阅读