簡體   English   中英

om / react:在渲染目標元素之外操作元素

[英]om/react: manipulate elements outside the render target element

我使用om作為clojurescript react接口。

我猜這與om和反應有關的一個問題:

在我的html主體中,我有一個id為“ app”的div,用於om / react作為渲染目標。

在此元素之外更改屬性的首選方法是。 更具體地說,我需要為主體設置一些樣式表。

現在,更多特定於clojure的內容:

如何將多個鍵值對設置為javascript對象。 (例如document.body.style)

我正在使用這個:

(doseq [[k v] {"backgroundColor" "red" "overflow" "hidden" ...}]
   (aset js/document.body.style k v))

使用underscore.js有一個很好的方法:

_.extend(document.body.style, {"backgroundColor": "red" "overflow": "hidden"})

好吧 ,但這是這里的問題。 也許並不需要,因為有一種特殊的om / react方法。

更好的方法是簡單地使用包含所有鍵值對的javascript對象設置主體樣式:

(set! (.. js/document -body -style) #js {:backgroundColor "red" :overflow "hidden"})

Naomi提供的解決方案很棒,但是它使用了內聯CSS的錯誤做法。 我不用在代碼中設置實際的CSS樣式,而是將一個類設置為所需的html對象,然后在樣式表中定義該類的CSS屬性。

例如:

(set! (.. js/document -body -className) "my-class")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM