javascript - Angular2 + Typescript + FileReader.onLoad = 属性不存在

标签 javascript angular typescript filereader

我正在使用 FileReader Interface 及其异步方法 readAsText() 来读取本地文本文件, 之后,当调用 onload 事件 时,我尝试读取我的文件,我的源代码如下所示:

export class ReadFileComponent {
   text: string;

   readFile(): void {
     let reader=new FileReader();
     reader.onload = function(e) {
        this.text=reader.result;
     }
     reader.readAsText(file);   
   }
}

编译失败,因为 "FileReader" 类型上不存在属性 "text"

我认为这是由于 EventListener 接口(interface)不接受对象,

有人解决过这种问题吗?

谢谢大家,

最佳答案

如果要在回调中使用this,请使用箭头函数,否则将不起作用

reader.onload = (e) => {
    this.text=reader.result;
}

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions

关于javascript - Angular2 + Typescript + FileReader.onLoad = 属性不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41737620/

相关文章:

javascript - 动态调整 Electron 应用程序窗口的大小

angular - 从我的主路由相对于子路由导航

Angular - 如何在注销时清除在服务构造函数上实例化的数据?

javascript - 在没有 TypeScript 的情况下使用 MobX 装饰器设置 ReactJS?

javascript - Jquery页面重新加载错误

javascript - 如何在 onkeydown 事件处理程序方法中区分大写字母和小写字母

angular - "Http failure response for (unknown url): 0 Unknown Error" Angular

typescript - TypeError : search. valueChanges.debounceTime 不是函数

angular - 类型 'BehaviorSubject<false>' 不可分配给类型 'BehaviorSubject<boolean>'