我有一个javascript(es2015)类,我想更新$ .each调用的函数中数组的值。但是,在构建中,myarr是未定义的。我假设thiseach函数中,是引用传递给each的匿名函数。如何访问myarr的类实例?

class mycl{
  constructor(){
     this.myarr=[];
  }
  build(d){
    $.each(d,function(d,i){
      let myd = ..... // Do some stuff with the data
      this.myarr.push(myd);
    });
  }
}

最佳答案

您将需要在变量中保留对类的引用,如下所示:

class mycl{
  constructor(){
    this.myarr=[];
  }
  build(d){
    const self = this; //keep a reference to the class here and use it to access class attributes.
    $.each(d,function(d,i){
      let myd = ..... // Do some stuff with the data
      self.myarr.push(myd);
    });
 }
}

关于javascript - 您如何访问匿名函数内部的javascript类属性是同一类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45087474/

10-12 20:34