【发布时间】:2013-04-09 07:43:03
【问题描述】:
虽然我可以用类似的东西将一个简单的 js 对象变成一个 clojure 对象;
(-> "{a: 2, b: 3}" js* js->clj)
我显然无法在处理函数中使用特定对象 goog.events.BrowserEvent 执行此操作,例如:
(defn handle-click [e]
...
(-> e .-evt js->clj keys) ;; <-------------
...
该函数确实被应用了,但生成的对象不响应像count或first这样的序列函数,尽管我可以使用aget获取项目。我在 chrome 的控制台中收到的错误消息是;
Uncaught Error: No protocol
method ISeqable.-seq defined for type object: [object Object]
为什么会这样? js->clj 不应该与所有对象一起工作吗?
我该如何解决这个问题?
谢谢!
【问题讨论】:
标签: clojure clojurescript