无法将从 api 返回的数据值分配给 Angular 中的 class 变量 8
Not able to assign data value returned from api to class variable in Angular 8
我正在调用 api 以获取有关 ngOnInit 的数据。但是我无法分配数据 class 变量。
下面是相关代码
tasks: Task[];
ngOnInit() {
this.apiService.getTasks()
.subscribe( data => {
Object.keys(data).map((index) => {
this.tasks.push(data[index]);
});
});
}
我收到错误消息说'TypeError: Cannot read 属性 'push' of undefined' for statement
this.tasks.push(data[index]);
但是任务已经定义为数组。
任何人都可以在这里帮助我,范围真的让我很困惑
Map 将 return 一个新数组,因此无需推入 map。因此你的代码应该是
this.apiService.getTasks()
.subscribe( data => {
this.tasks = Object.keys(data).map((index) => {
return data[index];
});
});
如果您在地图中所做的只是 return 属性 的值,您可以使用 Object.values()
.
this.apiService.getTasks().subscribe(data => {
this.tasks = Object.values(data);
});
我正在调用 api 以获取有关 ngOnInit 的数据。但是我无法分配数据 class 变量。 下面是相关代码
tasks: Task[];
ngOnInit() {
this.apiService.getTasks()
.subscribe( data => {
Object.keys(data).map((index) => {
this.tasks.push(data[index]);
});
});
}
我收到错误消息说'TypeError: Cannot read 属性 'push' of undefined' for statement
this.tasks.push(data[index]);
但是任务已经定义为数组。
任何人都可以在这里帮助我,范围真的让我很困惑
Map 将 return 一个新数组,因此无需推入 map。因此你的代码应该是
this.apiService.getTasks()
.subscribe( data => {
this.tasks = Object.keys(data).map((index) => {
return data[index];
});
});
如果您在地图中所做的只是 return 属性 的值,您可以使用 Object.values()
.
this.apiService.getTasks().subscribe(data => {
this.tasks = Object.values(data);
});