0

I have a class definition that goes like this:

class Tool {
  constructor() {

    this.chosenFrameCodeKey = -1;

    this.refs = {
      frameCodeSelect: document.getElementsByClassName("config__selectFrameCode")[0]
    }

    this.attachFrameCodesListener();
  }

  attachFrameCodesListener() {
    this.refs.frameCodeSelect.addEventListener("change", this.frameCodeSelect_onchange, 
  }

  frameCodeSelect_onchange = function (event) {
    //how to access chosenFrameCodeKey from here?
  }
}

Now I don't know how to access chosenFrameCodeKey from frameCodeSelect_onchange event handler or call class methods from the event handlers.

Solution: was to use es6 arrow function like this:

class Tool {
  constructor() {

    this.chosenFrameCodeKey = -1;

    this.refs = {
      frameCodeSelect: document.getElementsByClassName("config__selectFrameCode")[0]
    }

    this.attachFrameCodesListener();
  }

  attachFrameCodesListener() {
    this.refs.frameCodeSelect.addEventListener("change", this.frameCodeSelect_onchange, 
  }

  frameCodeSelect_onchange = (event) => {
  }
}
Dejan Dozet
  • 948
  • 10
  • 26

0 Answers0