2012-09-17 41 views
4

我試圖使用生成的clojure.browser.dom下面的HTML片段,但看起來它比打嗝不同,生成HTML與ClojureScript

<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"> 

回答

1

看一看一個flurfunk的web前端在https://github.com/flurfunk/flurfunk-web。他們似乎已經推出了自己的ClojureScript庫來生成html,並且界面在性質上與呃逆相似。

這裏有一個片段從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"]])) 
+0

這是一樣的。他們從twitterbuzz示例應用程序複製/粘貼dom助手。 –

5

也看看dommy這實質上是箱子的優化版本(打嗝的cljs版本),其murtaza52建議。