私はclojureとclojurescriptでRIAを開発しています。バックエンドは、AJAX呼び出しを実行せずに結果のHTML、すなわち内clojurescriptするajaxリクエストなしでclojureからclojurescriptにednを渡すにはどうすればいいですか?(ヒカップ生成ページから)
(html5
[:head
(include-js "/js/my-cljs-generated.js")]
[:body ... ])
どのように私は(などハッシュマップ、ベクトル、)EDNを渡すことができるように、結果のHTMLを生成するために、しゃっくりを使用していますか?私はしゃっくりをしたいと思い
はこのような何かを実行します(。例えば、名前で)
(include-edn
"var_name" {:foo :bar}) ; or any other clojure data
何とかcljsから渡されたEDNにアクセスできるようにします。
現在、私の実装は少しハックして格納されEDNグローバルのjs VAR
(hiccup/javascript-tag (str "var edn = \""
(pr-str my-clojure-data) "\";"))
とcljs側に
(jayq/document-ready
(fn []
(if-let [edn (.-edn js/window)]
(do-something-with (cljs.reader/read-string edn))
)
...
)
のようななめらかは多分これを達成するためのより多くの慣用的な方法はあるのでしょうか?
私は、プッシュベースのアプローチがより慣用的であるとは反対します。たとえば、core.asyncは、コールバックによって通常導入される制御の逆転を最小限に抑えようとします。 –