> Note the following code that works: > > (defn ^:export displayPlain [id] > (let [h (.getElementById window/document id) > txt (aget h "innerText")] > (window/alert (str "plain " txt)) > (aset h "innerText" "here I am!"))) > Here, javascript object "h" is treated as array, and I was able to get and > set its value (since it is mutable). > > Note that the following code doesn't work, since h is not a map, and thus we > can't access its properties neither as keywords nor as names. > > (defn ^:export displayPlain2 [id] > (let [h (.getElementById window/document id) > ;; txt (get h "innerText") > txt (:innerText h)] > (window/alert (str "plain " txt)))) > > This makes dealing with js objects a bit mor verbose than clojure maps. It > would be good if Clojure maps and JS object would be interchangeable from > ClojureScript code. > > Would it make sense to open a bug/feature for this? > > I know that this is doable using closure library, but it would be nice if it > could be easily doable using plain objects. > (defn ^:export display [id] > (let [h (dom/getElement id) > txt (dom/getTextContent h)] > (window/alert (str "gdom " txt)))) > > Regards, > Marko
Design is underway on this. Stay tuned. Stu Stuart Halloway Clojure/core http://clojure.com -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en