إخفاء عنصر في Clojurescript Dommy
-
23-12-2019 - |
سؤال
أحاول إخفاء عنصر في 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>
<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>
لكني لا أحصل على أي نتائج عند فتح الموقع في المتصفح وليس لدي أي فكرة عن السبب:< ولا يمكنني العثور على أي وثائق حول ClojureScript خارج صفحة Github.
المحلول
الشيء هو ذلك map
إرجاع تسلسل كسول من العناصر.التسلسل البطيء هو نوع من الوعد غير المحقق بما يمكنك الحصول عليه.تريد أن ينتج عن تسلسلك بعض الآثار الجانبية.لإنجاحه، تحتاج فقط إلى إدراكه.
المشكلة تافهة.لديك خياران:
1) أدرك تسلسلك البطيء باستخدام doall
وظيفة، مثل ذلك:
(doall (map dommy/toggle! (sel :.hide)))
هذا هو الهدف بالضبط doall
:قم بالمشي خلال التسلسل بأكمله وفرض أي تأثيرات محتملة.
2) الاستخدام doseq
والذي يهدف إلى إنتاج آثار جانبية، مثل هذا:
(doseq [el (sel :.hide)]
(dommy/toggle! el))
و هذا كل شيء!في كلتا الحالتين يجب أن تحصل على نفس النتيجة.
هل هناك المزيد من الأسئلة؟