gpt4 book ai didi

clojurescript - 无法在 OM 中显示两个组件

转载 作者:行者123 更新时间:2023-12-03 13:48:19 25 4
gpt4 key购买 nike

我正在尝试学习 Om,但遇到了一些我不明白的事情。我期望这段代码

(defn search-page-view [app owner]
(reify
om/IRender
(render [_]
(dom/div #js {:id "search-block"}
"Test")
(dom/div #js {:id "results-block"}
"Test2"))))
(om/root
search-page-view app-state
{:target (. js/document (getElementById "app"))})

生成此 html:

<div id="app>
<div id="search-block">
Test
</div>
<div id="results-block">
Test2
</div>
</div>

但是,事实并非如此!包含 Test 的第一个 div 不显示。我有什么误解吗?

使用解决方案进行编辑(FakeRainBrigand指出):

将代码更改为

(defn search-page-view [app owner]
(reify
om/IRender
(render [_]
(dom/div nil
(dom/div #js {:id "search-block"}
"Test")
(dom/div #js {:id "results-block"}
"Test2")))))

结果是预期的 html。

最佳答案

正如 here 和 FakeRainBrigand 所解释的那样,您的渲染函数必须返回单个可渲染对象。

关于clojurescript - 无法在 OM 中显示两个组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24448551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com