实例化命名空间 javascript 类

Far*_*ion 3 clojurescript

我想使用 google 地图 api v3,它需要我实例化google.maps.LatLng. clojurescript我就是这样做的:

(ns foocljs.core)

(LatLng. (.-maps js/google) 100 100)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误undefined is not a function,这是罪魁祸首:

new foocljs.core.LatLng(foocljs.core.google.maps, // ... another args
Run Code Online (Sandbox Code Playgroud)

我猜这是因为编译器认为这LatLng.是 clojure 命名空间类。这该如何处理呢?谢谢。

Joa*_*uin 5

使用 js/abcd 是一种不好的做法,并且可能会在未来版本的编译器中被破坏(因为据我所知,它不是 clojure 兼容的互操作版本)

好的方法是:

(def LatLng (.. js/google -maps -LatLng))

(LatLng. 100 100)
Run Code Online (Sandbox Code Playgroud)