2016-01-06 56 views
0

我:不能使用所需的命名空間類

(ns test-1.core 
    (:require [goog.dom :as dom] 
      [goog.ui.Popup :as popup] 
      [goog.positioning.AbsolutePosition] 
      [rum.core :as rum])) 

現在我可以:

(dom/getElement "popup") 

但對於原因,我不明白,我不能這樣做:

(popup. .....) 

相反,我必須寫:

(goog.ui.Popup. .....) 

爲什麼?

回答

0

如果你看看goog.ui.Popupimplementation,你可以看到它是一個類。這意味着不要將其與:require一起使用,我們需要使用:import

(ns test-1.core 
    (:require [goog.dom :as dom]) 
    (:import [goog.ui Popup])) 

(Popup. (dom/getElement "popup")) 

總體而言,使用:import爲關閉類和枚舉,並使用:require的一切。

相關問題