我正在努力理解 om 如何使用 apply 来呈现列表项,如下面的示例所示,取自 Om 教程页面。
(om/root
(fn [data owner]
(om/component
(apply dom/ul nil
(map (fn [text] (dom/li nil text)) (:list data)))))
app-state
{:target (. js/document (getElementById "app0"))})
我对 apply 的理解是它需要一个函数和一个项目列表并将该函数应用于列表。但在这个例子中,理解将转化为dom/ul
应用于nil
.
我不明白的事情是:
- 为什么我申请
dom/ul
一个列表,我不想创建ul
元素,我想创建li
元素? - apply 如何处理此示例中发送的所有参数?