无法在OM中显示两个组件 [英] Unable to display two components in OM
本文介绍了无法在OM中显示两个组件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试学习Om,并且遇到了一些我不了解的内容。我希望这段代码
I am attempting to learn Om, and have come across something I don't understand. I would expect this code
(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
However, it does not! The first div
containing Test does not display. What am I misunderstanding?
使用解决方案进行编辑(由FakeRainBrigand指出):
Edit with the solution (pointed out by 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。
推荐答案
如此处,FakeRainBrigand解释说,您的渲染函数必须返回单个可渲染对象。
As explained here and by FakeRainBrigand explained, your render function must return a single renderable.
这篇关于无法在OM中显示两个组件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文