无法将从 api 返回的数据值分配给 Angular 8 中的类变量



我正在调用api来获取ngOnInit上的数据。但是我无法分配数据类变量。 以下是相关代码

tasks: Task[];
ngOnInit() {
this.apiService.getTasks()
.subscribe( data => {
Object.keys(data).map((index) => {
this.tasks.push(data[index]);
});
});
}

我收到错误消息说"类型错误:无法读取未定义的属性'推送'"语句

this.tasks.push(data[index]);

但是任务已经定义为数组。

谁能在这里帮助我,范围真的让我感到困惑

如果在映射中所做的只是返回属性的值,则可以使用Object.values().

this.apiService.getTasks().subscribe(data => {
this.tasks = Object.values(data);
});

Map 将返回一个新数组,因此无需在 map 内部推送。因此,您的代码应该是

this.apiService.getTasks()
.subscribe( data => {
this.tasks = Object.keys(data).map((index) => {
return data[index];
});
});

相关内容

最新更新