Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Clojurescript Dommy中隐藏元素_Clojure_Clojurescript - Fatal编程技术网

在Clojurescript Dommy中隐藏元素

在Clojurescript Dommy中隐藏元素,clojure,clojurescript,Clojure,Clojurescript,我试图在ClojureScript中隐藏一个元素,更具体地说是在库中。到目前为止,我得到的是: ClojureScript: (ns fucking_about (:require [dommy.utils :a

我试图在ClojureScript中隐藏一个元素,更具体地说是在库中。到目前为止,我得到的是:

ClojureScript:

(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