2017-05-26 4 views
0

In meinem main.js, ich habe:Wie kann ich den Wert einer Funktion einstellen?

import listeners from "./listeners" 
listeners.call(this) 

und meine listeners.js ist:

import _ from "lodash" 

const listeners =() => { 
    console.log("this", this) 
} 

export default listeners 

Wenn es läuft, ist es nicht das Recht this Wert in der Funktion listeners haben. Was mache ich falsch?

+3

Ändern Sie die Pfeil-Funktion zu einem traditionellen 'Funktion() {...}' - siehe auch https://StackOverflow.com/Questions/33308121/Can-You-Bind-Arrow-Funktionen –

+0

im Allgemeinen können Sie Verwenden Sie die 'bind'-Methode von Function (die das' this' in der Funktion nicht technisch ändert, sondern eine neue Funktion mit 'this' erzeugt, die Sie benötigen) –

Antwort

1

Es hat nicht das Recht this, da eine ArrowFunction lokale Bindungen für this nicht definiert.

Sie könnten einige Informationen here und die Spezifikation here finden.

Verwandte Themen