0

如何使用 Clojurescript 协议扩展 Google Closure 元素。我试过这个,但它似乎不起作用:

(ns my-stuff.main
    (:require
      [goog.dom :as dom))

 (defprotocol ds 
      (-set-text [this text]))

(extend-type js/HTMLDivElement
  ds
  (-set-text
    [this text]  (dom/setTextContent this text)))


(set-text (.getElementById js/document "a") "howdy")

:我认为我必须做一些基本的错误,因为我的 HTML 页面上 ID 为“a”的元素永远不会更新。

4

1 回答 1

0

我工作太晚了,没有发现丢失的 - (减号):

(ns my-stuff.main
    (:require
      [goog.dom :as dom))

 (defprotocol ds 
      (-set-text [this text]))

(extend-type js/HTMLDivElement
  ds
  (-set-text
    [this text]  (dom/setTextContent this text)))


(-set-text (.getElementById js/document "a") "howdy")
于 2013-04-28T12:09:13.957 回答