ClojureScript Dommy에서 요소를 숨기고
-
23-12-2019 - |
문제
ClojureScript에서 요소를 숨기려고합니다. 특히 Dommy 라이브러리.이것은 내가 지금까지 얻은 것입니다 :
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 :
<html>
<head><title></title></head>
<body>
<ul>
<li class="show">Derp</li>
<li class="hide">Herp</li>
<li class="show">ies!</li>
</ul>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
.
그러나 브라우저에서 사이트를 열 때 결과가 없으며 이유는 무엇입니까? <및 나는 GitHub 페이지를 넘어 ClojureScript에 대한 문서를 찾을 수 없습니다.
해결책
map
가 게으른 요소 순서를 반환하는 것입니다.게으른 서열은 당신이 얻을 수있는 것에 대한 어떤 종류의 비현실적인 약속입니다.시퀀스가 몇 가지 부작용을 생성하기를 원합니다.그것을 일하기 위해서는 그것을 실현할 필요가 있습니다.
문제는 사소합니다.두 가지 선택 사항이 있습니다 :
1) doall
기능을 사용하여 게으른 시퀀스를 실현합니다.
(doall (map dommy/toggle! (sel :.hide)))
.
doall
의 정확히 목표입니다 : 전체 시퀀스를 걷고 가능한 모든 효과를 강요합니다.
2)
와 같은 부작용을 일으키는 것을 의미하는doseq
를 사용하십시오.
(doseq [el (sel :.hide)]
(dommy/toggle! el))
.
그리고 그게 다야!동일한 결과를 얻어야하는 두 가지 방법으로
더 이상 질문이 있습니까?
제휴하지 않습니다 StackOverflow