Wie beziehe ich mich auf das tatsächliche "this" in CoffeeScript fat-arrow callback?

Der Titel sagt schon alles. Wenn ich in CoffeeScript den Fettpfeil verwende, wird dieser gespeichertthis zuerst, bevor die Funktion aufgerufen wird. Zum Beispiel:

class myClass
    constructor: ->
        element = $ "#id"
        element.click ->
            @myMethod(@value)
            return
        return

    myMethod: (c)->
        window.console.log(c)
        return

ergäbe

var myClass;

myClass = (function() {
  function myClass() {
    var element;
    element = $("#id");
    element.click(function() {
      this.myMethod(this.value);
    });
    return;
  }

  myClass.prototype.myMethod = function(c) {
    window.console.log(c);
  };

  return myClass;

})();

Jetzt in Zeile 8 von JavaScript,this.myMethod ist falsch. In diesem Bereichthis bezieht sich aufelement anstelle der KlasseMyClass.

Wenn ich jedoch in Zeile 4 von CoffeeScript bin, ersetze ichelement.click -> durchelement.click => Die Zeile # 8 in JavaScript wird zu_this.myMethod(_this.val) wothis auf myClass verweisend ist in gespeichert_this vor dem Aufruf der Funktion. Aber_this.value ist undefiniert und selbst wenn es definiert wäre, ist das Objekt, auf das ich hier zugreifen möchte,element (die von der tatsächlichen bezeichnet wirdthis Schlüsselwort im Umfang dieser Funktion).

Wie würde der Zugriff auf die aktuellethis jetzt?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage