4

clojure.browser.domを使用して次のHTMLフラグメントを生成しようとしていますが、hiccupとは動作が異なるようです。

<div data-role="controlgroup">
<a href="index.html" data-role="button">Yes</a>
<a href="index.html" data-role="button">No</a>
<a href="index.html" data-role="button">Maybe</a>
</div>

HTML要素を生成するための正しい表記法は何ですか?を使用して、

[:div {:data-role "controlgroup"} ...]

生成されません、

<div data-role="controlgroup">
4

3 に答える 3

5

また、murtaza52が提案したクレートの最適化バージョン(hiccupのcljsバージョン)であるdommyもご覧ください。

于 2013-01-28T12:26:04.247 に答える
4

クレートを見てください-https: //github.com/ibdknox/crate-それはcljsへのしゃっくりの移植です。

enliveの実装であるenfocusも見てください-https ://github.com/cgrand/enlive

于 2012-09-18T17:45:16.370 に答える
1

https://github.com/flurfunk/flurfunk-webでflurfunkのWebフロントエンドを見てください。彼らは独自のClojureScriptライブラリをロールしてhtmlを生成したようで、インターフェイスは本質的にhiccupに似ています。

これがhttps://github.com/flurfunk/flurfunk-web/blob/master/src/cljs/flurfunk/web/core.cljsからのスニペットです:

(ns flurfunk.web.core
  (:require [flurfunk.web.dom-helpers :as dom]))
(defn- create-dom []
  (dom/build [:div#content
               [:h1
                 [:a {:href "http://flurfunk.github.com"} title]]
               [:div#messages
                 [:div#message-input
                   [:div
                     [:label "Your name:"]
                     [:input#author-name-input {:type "text"}]]
                   [:textarea#message-textarea]
                   [:button#send-button "Send message"]
                   [:div#waiting-indication]]
                 [:div#hidden-channels
                   [:label "Hidden channels:"]
                   [:ul#hidden-channel-list]]
                 [:div#message-list]]
               [:button#load-more-button "Load more messages"]]))
于 2012-09-17T21:58:09.273 に答える