remove event listener in vue

15,429

Something like this maybe?

methods: {
  initCanvas (x, y, width, height) {
    //do something
  },
  some_method() {
    svgObjectEl.options = { x: 12, y: 13, … }
    svgObjectEl.addEventListener('load', this.listener)
  },
  listener(evt) {
    // some code here
    this.initCanvas(evt.target.options)
    svgObjectEl.removeEventListener('load', this.listener)    
  }
}
Share:
15,429
Tomonso Ejang
Author by

Tomonso Ejang

Updated on July 16, 2022

Comments

  • Tomonso Ejang
    Tomonso Ejang almost 2 years

    i need to remove the event listener. i'm calling to some method from the function executed within the event listener, so i need to use to es6 syntax. i couldn't use named functions. how can i remove the event listener

    methods :
        initCanvas : function(x, y, width, height) {
            //do something
        },
        some_method : function() {
            let svgObjectEl = // some logic will give the object elemenet embedding the svg
            svgObjectEl.addEventListener('load', () => {
                //let x,y,width, height has some value
                // some code here
                this.initCanvas(x, y, width, height);         
            });   
            svgObjectEl.removeEventListener('load', ??);
    }