문제

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))
.

그리고 그게 다야!동일한 결과를 얻어야하는 두 가지 방법으로

더 이상 질문이 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top