我有以下代码
httpcsv2Array(event) {
var gethttpcsv =
Papa.parse('https://docs.google.com/spreadsheets/d/e/yadyada/pub?output=csv', {
download: true,
header: true,
dynamicTyping: true//,
complete: this.importhttpcsv
});
}
importhttpcsv(results) {
this.bformservice.deleteAll();
results.data.forEach(item => {
let tarr = item as bform;
this.bformservice.bulkcreatebform(tarr);
});
}
看来 importhttpcsv 是在 papa.parse 的上下文中启动的,因为我收到错误: 类型错误:无法读取未定义的属性“deleteAll”
我可以在同一个类的其他函数中使用 this.bformservice.deleteAll() 。
我需要访问不同服务中的函数才能更新数据库。有办法解决这个问题吗?
谢谢
最佳答案
需要使用箭头函数
来假装正确的this
complete: () => {
this.importhttpcsv();
}
关于Angular 4 函数使用 papaparse 丢失上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47426572/