10

いくつかのClojureScriptコードを、コールバック関数を受け取るJSライブラリ呼び出しと統合しています。JSライブラリは、JavsScriptの「this」キーワードを使用してデータをコールバックに渡します。

(js * "this")を使用して動作させることができます。例えば:

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

js *に頼らずにClojureScriptから「this」コンテキストを取得する方法はありますか?

4

1 に答える 1

20

組み込みthis-asマクロを使用します。名前と本文を取り、 JavaScript にバインドされた名前で本文を評価しますthis

例えば

(libraryCall (fn [] (this-as my-this (.log js/console my-this))))

素晴らしい質問です...それを見つけるためにコンパイラコードを掘り下げる必要がありました.それはまったく宣伝されていません.

本に追加させていただきます。

于 2012-09-07T15:54:54.900 に答える