2016-04-18 16 views
-2

reference code segmentüber JavaScript bind Methode

this.localizationChanged = this.localizationChanged.bind(this); 

Wer mir so, warum sagen kann, schreiben?

+2

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_objects/Function/ bind – Rayon

+2

Sie sollten "Javascript bind" gesucht haben. –

Antwort

0

Wer kann mir sagen, warum ich so schreiben soll?

localizationChanged wird als Event-Handler verwendet:

LocalizationStore.addChangeListener(this.localizationChanged);` 

Wenn die Prozedur nicht auf die Komponenteninstanz gebunden wurde, würde this nicht auf die Komponenteninstanz beziehen, und es wäre nicht möglich, die setState anrufen Methode der Komponente (this.setState(...)).

0

Die bind() Methode erzeugt eine neue Funktion, die, wenn sie aufgerufen wird, dessen dieses Schlüsselwort zu dem bereitgestellten Wert eingestellt hat, mit einer gegebenen Sequenz von Argumente vorhergehenden jeder vorgesehen ist, wenn die neue Funktion aufgerufen wird.

von MDN.

0

Wenn Sie versuchen, in der Funktion locationChanged darauf zuzugreifen, binden Sie dies.

jedoch in ES2015 Sie benötigen keine this.You Pfeil Operator verwenden:

localizationChanged =()=>{ 
    console.log(this); 
} 
Verwandte Themen