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!
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:
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.
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.
Tags und Links scope coffeescript arrow-functions