Se è necessario creare oggetti usa e getta JS per l'uso con le API JS, è possibile farlo direttamente utilizzando js-obj
:
(js-obj "value" "text")
;; produces {"value": "text"} in the compiled output
Naturalmente se si dispone già di una mappa ClojureScript con le voci appropriate, clj->js
sarà più conveniente.
Ancora più importante, si potrebbe prendere in considerazione il passaggio a una libreria ClojureScript per la manipolazione DOM. Diversi sono disponibili:
Luke VanderHart Domina, che potrebbe essere stato il primo, viene utilizzato da Enfocus (elencati di seguito) e Pedestal;
di dommy prismatico, notevole per le sue propri meriti così come i post del blog molto divertente a questo proposito sul Prismatic's blog (che possono servire come una grande introduzione ai benefici della macro: first one, second one, third one);
Creighton Kirkendall Enfocus, che è in poche parole una libreria Enlive -like per ClojureScript, che è fantastica;
Kevin Lynagh's Singult, che è una libreria in stile Hiccup per ClojureScript con funzionalità interessanti per l'unione in modifiche al DOM, piuttosto che il rerendering da zero.
fonte
2013-07-09 19:05:25