如何在Clojurescript中设置嵌套属性值?

时间:2013-08-02 18:26:32

标签: clojurescript

我想从clojurescript设置一个element.style.height属性,但遗憾的是这段代码失败了:

(set! (-> (sel1 tr :.ragslide) .-style .-height) (content-height))

(sel1选择一个DOM元素,它是来自Dommy库的宏)

出现以下错误:

clojure.lang.ExceptionInfo: 
Assert failed: Can't set! local var or non-mutable field
(or (nil? local) (and (:field local) (or (:mutable local) (:unsynchronized-mutable local) (:volatile-mutable local)))) at line 79  {:tag :cljs/analysis-error, :file nil, :line 79, :column 7}

如何设置该属性?

2 个答案:

答案 0 :(得分:1)

好的,哇,这似乎很奇怪。它无法工作,因为该代码位于core.async块内,这使得所有内容搞砸了......

答案 1 :(得分:0)

我认为你得到的(-> (sel1 tr :.ragslide) .-style .-height)是高度值,你不能用新值设置它。

如果要在样式中添加高度元素,请尝试使用 set-style!功能。