2012-09-07 6 views
8

Ich integriere ClojureScript-Code mit einem JS-Bibliotheksaufruf, der eine Callback-Funktion verwendet. Die JS-Bibliothek übergibt Daten an den Rückruf mithilfe des JavasScript-Schlüsselworts "this".Wie verweisen Sie Javascript dieses Schlüsselwort von Clojurescript?

Ich kann es mit (js * "this") zu arbeiten. Zum Beispiel:

(libraryCall (fn [] (.log console (js* "this")))) 

Gibt es eine Möglichkeit an dem „this“ Kontext von ClojureScript zu bekommen, ohne zu js greifen *?

Antwort

13

Verwenden Sie das integrierte Makro this-as. Es nimmt einen Namen und einen Körper und bewertet den Körper mit dem an JavaScript gebundenen Namen this.

z.B.

Gute Frage ... musste in den Compiler-Code zu finden, es zu finden, es ist überhaupt nicht gut beworben.

Ich werde es dem Buch hinzufügen.

+0

Funktioniert gut, danke! –

Verwandte Themen