2017-12-01 11 views
3

私はイベントリスナーを削除する必要があります。私はイベントリスナー内で実行される関数からいくつかのメソッドを呼び出すので、私はes6構文に使用する必要があります。私は名前付き関数を使うことができませんでした。イベントリスナーを削除するにはどうすればいいですか?vueでイベントリスナーを削除

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', ??); 
} 
+2

変数に格納する必要があります。 – SLaks

+0

あなたはそれを書くことができます。 –

+1

は ' birdspider

答えて

1

何かこれはおそらく?

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)  
    } 
} 
+0

メソッドsome_methodに変数x、y、width、heightがあります。どのようにメソッドリスナーに渡すことができます –

+0

更新された例を参照してください。 –

+0

@TomonsoEjang動作しますか? –

関連する問題