在Clojurescript Dommy中隐藏元素
我试图在ClojureScript中隐藏一个元素,更具体地说是在库中。到目前为止,我得到的是: ClojureScript:在Clojurescript Dommy中隐藏元素,clojure,clojurescript,Clojure,Clojurescript,我试图在ClojureScript中隐藏一个元素,更具体地说是在库中。到目前为止,我得到的是: ClojureScript: (ns fucking_about (:require [dommy.utils :a
(ns fucking_about
(:require
[dommy.utils :as utils]
[dommy.core :as dommy])
(:use-macros
[dommy.macros :only [node sel sel1]]))
(map dommy/toggle! (sel :.hide))
HTML:
- Derp
Herp
- 李>
但是我在浏览器中打开网站时没有得到任何结果,我也不知道为什么:<而且我在Github页面之外的ClojureScript上找不到任何文档。问题是,
map
返回一个惰性的元素序列。懒惰序列是一种未实现的承诺,你可以得到什么。您希望您的序列产生一些副作用。要让它发挥作用,你只需要意识到它
问题是微不足道的。你有两个选择:
1) 使用doall
函数实现您的惰性序列,如下所示:
(doall (map dommy/toggle! (sel :.hide)))
(doseq [el (sel :.hide)]
(dommy/toggle! el))
这正是doall
的目标:遍历整个序列并强制执行任何可能的效果
2) 使用doseq
产生副作用,如:
(doall (map dommy/toggle! (sel :.hide)))
(doseq [el (sel :.hide)]
(dommy/toggle! el))
就这些!两种方法都应该得到相同的结果
还有问题吗?啊!非常感谢@yonki