1

非常に単純な ClojureScript/Om アプリケーションがあります。少し壊れているようです。

これはコア ファイルです。

(ns demo.core
  (:require-macros [cljs.core.async.macros :refer [go]])
  (:require [goog.events :as events]
            [cljs.core.async :as async :refer [>! <! put! chan]]
            [om.core :as om :include-macros true]
            [om.dom :as dom :include-macros true]
            [goog.events.EventType :as EventType]
            [clojure.string :as string]))

(defn layout
  [app owner]
  (reify
    om/IRender
    (render [_]
      (dom/div {:id "some-id"} "Pumpkin"))))

(defn main []
  (om/root
    layout
    {}
    {:target (. js/document (getElementById "app"))}))

この HTML をレンダリングします。

<div id="app">
    <div data-reactid=".0">Pumpkin</div>
</div>

dividがないのはなぜ#some-idですか?

4

1 に答える 1

4

#js {}従来のマップではなく、リーダー リテラルを使用して JS オブジェクトを指定する必要があります。

(dom/div #js {:id "some-id"} "Pumpkin")

これはOm チュートリアルで少し詳しく説明されています。

于 2015-02-03T01:02:58.220 に答える