Question

J'essaie de masquer un élément dans le ClojureScript plus précisément le Dommage bibliothèque.Voici ce que j'ai obtenu jusqu'à présent :

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>

Mais je n'obtiens aucun résultat lors de l'ouverture du site dans un navigateur et je ne sais pas pourquoi :< et je ne trouve aucune documentation sur ClojureScript au-delà de la page Github.

Était-ce utile?

La solution

Le truc c'est que map renvoie une séquence paresseuse d'éléments.Une séquence paresseuse est une sorte de promesse non réalisée de ce que vous pouvez obtenir.Vous voulez que votre séquence produise des effets secondaires.Pour que cela fonctionne, il suffit de s’en rendre compte.

Le problème est trivial.Vous avez deux choix :

1) Réalisez votre séquence paresseuse en utilisant doall fonction, comme ça :

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

C'est exactement le but de doall:parcourez toute la séquence et forcez tous les effets possibles.

2) Utiliser doseq qui est censé produire des effets secondaires, comme celui-ci :

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

Et c'est tout!Dans les deux cas, vous devriez obtenir le même résultat.

Autres questions?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top