Pergunta

Eu estou tentando esconder um elemento na ClojureScript, mais especificamente, a Dommy a biblioteca.É isso que eu tenho até agora:

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>

Mas eu não obter resultados quando a abertura do site em um navegador e não tenho idéia do porquê :< e eu não consigo encontrar alguma documentação sobre ClojureScript além da página do Github.

Foi útil?

Solução

A única coisa é que map retorna um preguiçoso sequência de elementos.Preguiçoso sequência é algum tipo de realizar a promessa de que você pode obter.Você quer que sua seqüência para produzir alguns efeitos colaterais.Para fazer isso funcionar você só precisa para realizá-lo.

Problema é trivial.Você tem duas opções:

1) Perceber o seu preguiçoso sequência de uso doall função, como:

(doall (map dommy/toggle! (sel :.hide)))

Que é exatamente o objetivo de doall:a pé, através de toda a sequência e força eventuais efeitos.

2) Use doseq que se destina a produzir efeito colateral, como:

(doseq [el (sel :.hide)]
    (dommy/toggle! el))

E isso é tudo!Ambas as maneiras, você deve obter o mesmo resultado.

Mais alguma pergunta?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top