加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

如何在Clojurescript中设置DOM元素的属性?

发布时间:2020-12-14 19:40:59 所属栏目:资源 来源:网络整理
导读:我希望使用Clojurescript设置“input”元素的“value”属性,但是我在goog.com中遇到了setProperties的语法问题.有没有人有一个工作的例子? 更新 —— 这似乎有效: (goog.dom.setProperties (goog.dom/getElement "element-name") (clj-js {:value "text"})
我希望使用Clojurescript设置“input”元素的“value”属性,但是我在goog.com中遇到了setProperties的语法问题.有没有人有一个工作的例子?

更新
——

这似乎有效:

(goog.dom.setProperties 
 (goog.dom/getElement "element-name")
 (clj->js {:value "text"}))

解决方法

如果您需要创建一次性JS对象以与JS API一起使用,您可以使用js-obj直接创建:
(js-obj "value" "text")
;; produces {"value": "text"} in the compiled output

当然,如果你已经有一个带有相应条目的ClojureScript地图,clj-> js会更方便.

更重要的是,您可能需要考虑切换到ClojureScript库以进行DOM操作.有几个可用:

> Luke VanderHart的Domina,可能是第一个,由Enfocus(下面列出)和Pedestal使用;
> Prismatic的dommy,值得注意的是由于它自身的优点,以及关于它的非常有趣的博客文章Prismatic’s blog(可以作为宏的好处的一个很好的介绍:first one,second one,third one);
> Creighton Kirkendall的Enfocus,简而言之是一个类似于Enlive的ClojureScript库,非常棒;
> Kevin Lynagh的Singult,这是一个针对ClojureScript的Hiccup风格的库,具有很酷的功能,可以合并DOM的更改,而不是从头开始重新渲染.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读