TypeScript图片上传,fileReader.onload异步无法赋值给全局变量

1、无法传值给全局变量

protected getImage(image: any) {
    const fileReader = new FileReader();
    fileReader.readAsDataURL(image.files[0]);
    // tslint:disable-next-line:typedef
    fileReader.onload=function() {
  // 这里是无法赋值给base64Url的
      this.base64Url = fileReader.result;
    }
  }
2、怎样才能赋值呢?需要将函数改成箭头形式
protected getImage(image: any) {
    const fileReader = new FileReader();
    fileReader.readAsDataURL(image.files[0]);
    // tslint:disable-next-line:typedef
   // 这种才可以给全局变量赋值
    fileReader.onload = ()=> {
      this.base64Url = fileReader.result;
    }
  }
 
// 将文件读取为base64,并将数据保存在result中
fileReader.readAsDataURL(image.files[0]);
 
页面代码:

 

 

posted @ 2021-01-27 16:52  颜文字  阅读(1079)  评论(0)    收藏  举报