即使在交换后,Om也没有反映变化!应用程序状态

时间:2014-09-09 15:42:25

标签: clojure clojurescript lighttable om

使用Light Table,在eval修改Om功能后,如何告诉Om重新渲染DOM?

强制交换!对主状态原子没有影响: (swap! app-state identity)

使用(swap! app-state assoc :current-page :about)明确循环路线并使用(swap! app-state assoc :current-page :home)返回主页,反映对主页的更改。

我的浏览器已连接到Light Table,我可以触发警报,例如(js/alert "hi")

再次调用root也会触发渲染:

(root app app-state
      {:target (. js/document
                  (getElementById "site"))})

为什么Om不会在app-state atom swap!上触发渲染?

1 个答案:

答案 0 :(得分:2)

在Om中,您应该使用om/update!om/transact!修改应用程序状态原子。