2016-10-29 3 views
0

Ich versuche, einen Parameter an eine Funktion übergeben, die in der Callback-Funktion aufgerufen wird, ist das mit ES6 oder Javascript möglich? hier ist das folgende Beispiel:ES6 Pass paremeter zu Funktion, die von Rückruffunktion aufgerufen

sprite.on('mousedown', this.onDragStart) 
     .on('touchstart', this.onDragStart) 
     .on('mouseup', this.onDragEnd) 
     .on('mouseupoutside', this.onDragEnd) 
     .on('touchend', this.onDragEnd) 
     .on('touchendoutside', this.onDragEnd) 
     .on('mousemove', this.onDragMove); 
     .on('touchmove', this.onDragMove); 



    onDragStart(event) { 
      this.data = event.data; 
      this.alpha = 0.5; 
      this.dragging = true; 
      this.selected = true; 
     } 

    onDragMove(arg) { 

     if (this.dragging) { 
      var newPosition = this.data.getLocalPosition(this.parent); 
      arg.m_orange.setPosition(newPosition.x, newPosition.y); 
     } 
    } 

    onDragEnd() { 
     this.alpha = 1; 
     this.dragging = false; 
     this.data = null; 
     this.selected = false; 
    } 

Ich möchte ein Parameter übergeben onDragMove funktionieren, die nur, wenn Sie die Maus bewegen genannt wird, ist das möglich?

Wenn nein, gibt es eine andere Möglichkeit, ein Schlüsselwort der übergeordneten Klasse an onDragMove-Funktion zu übergeben?

Antwort

1

Sie können es auch es6 Pfeil-func statt binden mit bekannter.

on('mousemove', (ev) => this.onDragMove(ev, otherArg))