Coffeescript Klassen und Umfang und dicke und dünne Pfeile

7

Wie kann ich in einer fettgezeichneten Funktion einer coffescript-Klasse sowohl auf den Umfang der Klasse als auch auf die Funktion zugreifen?

Beispiel:

%Vor%

Also in diesem Beispiel, wenn ich a = & gt; dann bezieht sich das @ auf das der Klasse, aber das "Dies" ist dann falsch, wohingegen wenn ich ein - & gt; für die jeweils, dann ist das "das" korrekt Bereich aber wie kann ich dann auf die Klasse Funktionsleiste verweisen?

Danke!

    
Jo P 04.08.2011, 12:31
quelle

3 Antworten

10

Das liegt daran, dass in CoffeeScript @ ein Alias ​​für this ist, d. h. wenn Sie Ihre .coffee auf .js kompilieren, wird @ durch this ersetzt.

Wenn Example::bar hässlich ist, glaube ich nicht, dass es "schönere" Lösungen gibt.

Sie können einen Verweis auf this speichern, bevor Sie .each aufrufen:

%Vor%     
mak 04.08.2011, 13:34
quelle
16

Auch wenn mak richtig ist, kann er nicht darauf hinweisen, dass Sie in coffee script nur selten die each -Methode von jQuery benötigen, die, wie Sie bemerkt haben, Ihren Ausführungskontext ohne Ihre Erlaubnis ins Gesicht schlägt.

%Vor%

Die Loop-Funktionen des Coffee-Skripts unterstützen das Konzept von each ohne jeden benutzerdefinierten benutzerdefinierten Bibliothekscode. Und sie erzeugen auch keinen neuen Bereich oder Kontext, was bedeutet, dass du keinen dicken Pfeil brauchst.

    
Alex Wayne 04.08.2011 20:39
quelle
3

Nach Überprüfung der verschiedenen Lösung. Hier erscheint mir für jeden etwas als komplettes Beispiel und klicke:

%Vor%     
Supernini 26.09.2013 13:44
quelle