如何从FileReader事件中设置Component的属性值

Opt*_*tte 2 javascript typescript angular

我有这个组件:

export class FileFormComponent {
  _base64: string;

 handleFile($event){
   var input = $event.target;
   var reader = new FileReader();
   reader.onloadend = function() {
     this._base64 = reader.result
   }
   reader.readAsDataURL(input.files[0]);
   console.log(this._base64);
 }
}
Run Code Online (Sandbox Code Playgroud)

问题是console.log(this._base64)日志undefined.看来this里面的onloadend事件并不是指组件的上下文.如何_base64FileReader onloadend事件内部设置属性的值.

Thi*_*ier 6

我会使用箭头功能.这样你就可以使用lexical this(对应于组件实例):

reader.onloadend() = () => {
  this._base64 = reader.result
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅此链接: