我基本上收到以下错误
Cannot read property 'post' of undefined
我的代码如下:
export class AppComponent {
constructor(public http: HttpClient, private papa: PapaParseService) {}
results:any;
createOrders(csvData) {
this.http.post(environment.ordersUrl, {'order': csvData})
.toPromise().then((data)=> console.log(data));
}
handleFileSelect(evt) {
let file = evt.target.files[0];
this.papa.parse(file, {
header: true,
dynamicTyping: true,
complete: function(csvOrders) {
this.http.post(environment.ordersUrl, {'order': csvOrders.data}).subscribe();
}
});
}
}
答案 0 :(得分:1)
您正在调用的完整函数在其中具有不同的范围,因此不同this
。
您可以使用胖箭头功能:
complete: csvOrders => {
...
}
或者将this
绑定到函数:
complete: function(csvOrders) {
...
}.bind(this)