我一直停留在这种打字稿语法上,其中WebAPI返回带有两个对象的DTO。以下返回对象是:
{
"userList": [{
"id": 1,
"firstNm": "John",
"lastNm": "Doe"
},
{
"id": 2,
"firstNm": "Jim",
"lastNm": "Doe"
}
],
"selectedIds": [158, 155]
}
在我的Angular TS代码中,我得到了以下代码
在声明中,我尝试将users
声明为any[]
,但
CLI编译器以红色突出显示了usersList属性,并指出'usersList'不是any[]
类型的成员。
我也尝试用memberList: any[]
声明User的接口,但是得到了相同的错误消息。因此,在定义users: any[]
和User[]
时,我得到的是相同的消息。
感谢您的帮助。
谢谢
getUsers() {
this.meetingService.GetCommitteeMembersAsync(this.request.meetingId)
.subscribe((data: any[]) => {
var _test = data;
this.users = _test.userList;
});
}
答案 0 :(得分:1)
您的protocol DrawerViewController {
func configureDrawer(drawerContainerView: UIView, overlaidView: UIView)
}
将是data
类型,用户将是ComitteeMembersData
UserList
答案 1 :(得分:-1)
您要获取的数据具有以下格式:
{
"userList": [{
"id": 1,
"firstNm": "John",
"lastNm": "Doe"
},
{
"id": 2,
"firstNm": "Jim",
"lastNm": "Doe"
}
],
"selectedIds": [158, 155]
}
它基本上可以是any
类型,而不是any[]
类型。 data.userList
可以是any[]
。因此,要解决此问题,只需执行以下操作:
users: any[];
...
getUsers() {
this.meetingService.GetCommitteeMembersAsync(this.request.meetingId)
.subscribe((data: any) => {
this.users = data.userList;
});
}