我有自定义服务deleteCenter(id: number): Observable<{}> {
console.log(id);
const url = `${this.D_ROOT_URL}${id}`;
return this.http.delete(url);
}
,其中包含以下删除方法:
<button type="submit" (click)="deleteCenter()">Delete</button>
我在模板中有按钮:
list-centers.component.ts
在deleteCenter(): void {
if (this.getCheckedCenters.length > 0) {
this.getCheckedCenters.forEach(function (id) {
id = +id;
this.centers = this.centers.filter(c => c.id !== id);
this.centerService.deleteCenter(id).subscribe();
});
}
}
中调用以下方法:
this.getCheckedCenters
console.log
返回id数组,并打印list-centers.component.ts
,返回有效数字。
但是center.service.ts
中的方法在控制台中打印错误,并且没有调用centers: Center[];
中的其他方法。
错误:
TypeError:undefined不是对象(评估&#39; this.centers&#39;)
pipenv run
答案 0 :(得分:2)
通过使用foreach(函数...,你正在失去这个范围。你可以尝试使用lambda foreach(p =&gt; {...
这是因为typescrypt保证lambda中的作用域而不是函数。你也可以使用函数和闭包