无法使用必需的命名空间类

时间:2016-01-06 17:01:50

标签: clojurescript

我有:

(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. .....)

为什么?

1 个答案:

答案 0 :(得分:0)

如果您查看goog.ui.Popup的{​​{3}},就可以看到它是一个类。这意味着我们需要使用:require

,而不是将其包含在:import
(ns test-1.core
  (:require [goog.dom :as dom])
  (:import [goog.ui Popup]))

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

总的来说,对闭包类和枚举使用:import,并对其他所有内容使用:require