【问题标题】:Om not reflecting changes even after swap! app-state即使在交换之后 Om 也不会反映变化!应用状态
【发布时间】:2014-09-09 15:42:25
【问题描述】:

使用 Light Table,我如何告诉 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 不会在应用状态 atom swap! 上触发渲染?

【问题讨论】:

  • 你使用swap!而不是om/transact!有什么原因吗?
  • 我是 Om 菜鸟。我不知道我应该使用om/transact!

标签: clojure clojurescript lighttable om


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2022-10-14
    • 1970-01-01
    • 2021-05-21
    • 2020-06-26
    • 2017-12-13
    • 1970-01-01
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多