我正在调用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];
});
});