angular - 如何使用订阅来映射对象
问题描述
我正在尝试将值分配给组件中的类型。当我执行 console.log 时,我的订阅正在恢复这个
this.srvice.getTasks(this.request).subscribe(heroes => console.log(heroes));
{
"List": [
{
"id": 17,
"pro": 1,
"name": "Ram",
"UserId": 2,
"duedate": "2018-01-01T00:00:00",
"status": 1,
"active": false
},
{
"id": 3,
"pro": 1,
"name": "My Name",
"UserId": 1,
"duedate": "2018-01-01T00:00:00",
"status": 2,
"active": false
},
]
}
但是当我做我的任务时,它不起作用..我认为它需要提供直接列表,但我的对象被包裹在“列表”中。我怎样才能提取这个?我是角度新手
这就是我分配值的方式
组件类:
model: dtoModel = {
List : []
};
this.taskService.getTasks(this.request).subscribe(heroes => this.model = heroes);
楷模
export interface dto {
id: number;
pro: number;
name: string;
UserId: number;
duedate: string;
status: number;
active: boolean;
}
export interface dtoModel {
List: dto[];
}
在役
getTasks (requestSearch: TaskRequest): Observable<dto[]> {
return this.http.post<dto[]>(this.Url, requestSearch, httpOptions);
}
解决方案
你可以使用
this.taskService.getTasks(this.request).subscribe(heroes => this.model = heroes.List);
这将选择 List 数组。
而model
意志变成
model: dto[] = [];
推荐阅读
- linux - 使用脚本检查 netcat 反向 shell
- c# - 将图表数据绑定到日期选择器以显示自定义时间线
- python - 访问类 python 之外的文件
- python - 我可以创建一个函数来报告 Python 中的输出列表吗?
- amazon-cloudwatch - 根据标签过滤 EC2,同时使用 Cloudwatch 事件规则通过 SNS 发送 EC2 实例状态更改通知
- flutter - Flutter:无法确定任务':geolocator:compileDebugAidl'的依赖关系
- java - 如何使用独立的 tomcat 运行器进行 spock 集成测试?
- ios - 从 xib 加载视图控制器返回错误的帧
- excel - 如何使用 SharePoint 路径应用 ThisWorkbook.SaveCopyAs?
- javascript - 如何在文本框中应用遮罩