我希望使用Clojurescript设置"input"元素的"value"属性,但是我在goog.com中遇到了setProperties的语法问题.有没有人有一个工作的例子?
更新------
这似乎有效:
(goog.dom.setProperties
(goog.dom/getElement "element-name")
(clj->js {:value "text"}))
Run Code Online (Sandbox Code Playgroud)
如果您需要创建一次性JS对象以与JS API一起使用,您可以直接使用 js-obj:
(js-obj "value" "text")
;; produces {"value": "text"} in the compiled output
Run Code Online (Sandbox Code Playgroud)
当然如果你已经有一个带有相应条目的ClojureScript地图,clj->js会更方便.
更重要的是,您可能需要考虑切换到ClojureScript库以进行DOM操作.有几个可用:
Luke VanderHart的Domina可能是第一个,由Enfocus(下面列出)和Pedestal使用 ;
Prismatic的dommy,由于它自身的优点以及Prismatic博客上有关它的非常有趣的博客文章而引人注目(它可以作为宏的好处的一个很好的介绍:第一个,第二个,第三个);
Creighton Kirkendall的Enfocus,简而言之,是一个类似Enlive的ClojureScript库,非常棒;
Kevin Lynagh的Singult,这是一个针对ClojureScript的Hiccup风格的库,具有很酷的功能,可以合并DOM的更改,而不是从头开始重新渲染.
| 归档时间: |
|
| 查看次数: |
3027 次 |
| 最近记录: |