在匿名函数中使用全局变量

时间:2018-02-07 23:04:40

标签: javascript function events

在html中

<input type="file" multiple="multiple" (change)="getFileSizeandName($event)"/>

在file.ts中

我有全局变量

imageStringBase64: Array<string>;
事件更改触发时

和函数调用

getFileSizeandName(args) {
    let files = args.target.files;

    for (let i = 0; i < files.length; i++) {
      let reader = new FileReader();
      reader.onload = (function (f) {
        return function(e) {
          console.log(e.target.result);
          this.imageStringBase64 = e.target.result;
        }
      })(files[i]);
      reader.readAsDataURL(files[i]);
    }
  }
}

当我在控制台打印的stringBase64中使用conole.log(e.target.result)时 分配this.imageStringBase64 = e.target.result并产生意外结果, this.imageStringBase64 未定义。如何在匿名函数中使用global var?

0 个答案:

没有答案