我正在将一些ClojureScript代码与一个需要回调函数的JS库调用集成在一起。该JS库使用JavaScript的"this"关键字向回调传递数据。
我可以使用(js* "this")使其工作。例如:
(libraryCall (fn [] (.log console (js* "this"))))
在ClojureScript中,是否有一种方法可以获取“this”上下文,而无需使用js *?
我正在将一些ClojureScript代码与一个需要回调函数的JS库调用集成在一起。该JS库使用JavaScript的"this"关键字向回调传递数据。
我可以使用(js* "this")使其工作。例如:
(libraryCall (fn [] (.log console (js* "this"))))
在ClojureScript中,是否有一种方法可以获取“this”上下文,而无需使用js *?
this-as
宏。它接收一个名称和一个函数体,将该名称绑定到 JavaScript 的 this
并评估该函数体。(libraryCall (fn [] (this-as my-this (.log js/console my-this))))
好问题...我不得不深入编译器代码来找到它,这个特性并没有很好地被广告。
我会把它添加到书中。