2013-08-02 29 views
3

我想設置從clojurescript的element.style.height屬性,但是這個代碼不幸失敗:如何在Clojurescript中設置嵌套屬性值?

(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} 

如何設置該屬性?

回答

1

好的,哇,這似乎很奇怪。它沒有工作,因爲該代碼是在一個core.async塊裏面搞砸了一切...

+1

這是一個已知的core.async錯誤http://dev.clojure.org/jira/browse/ASYNC-3 – dnolen

+0

這已經被固定在core.async master – dnolen

0

我認爲(-> (sel1 tr :.ragslide) .-style .-height)你得到的是一個高度值,你不能用一個新值來設置它。

如果要在樣式中添加高度元素,請嘗試
set-style!函數。