2017-09-20 12 views
5

Devcards क्लोजरस्क्रिप्ट के लिए एक दृश्य आरईपीएल अनुभव प्रदान करना है। वे Reagent और OM पर समर्थन प्रदान करते हैं। मैं re-frame के साथ devCards कैसे काम कर सकता हूं?मैं devCards को फिर से फ्रेम के साथ कैसे काम करूं?

उत्तर

1

वे कहते हैं कि आप the first page पर नहीं कर सकते हैं:

फिर से फ्रेम पर कार्य चल रहा है और यह तरीके के एक जोड़े में कम पड़ता है - उदाहरण के लिए यह रूप में अच्छी तरह हम के रूप में काम नहीं करता है डी devcards

+0

मैं वाक्य को समझता हूं "यह काम नहीं करता है और साथ ही हम चाहते हैं" क्योंकि यह कुछ हद तक काम करता है। – dilvan

3

यह पुनः फ्रेम और devcards के साथ एक आवर्ती मुद्दा है। मुख्य समस्या री-फ्रेम में ग्लोबल्स है (मुख्य मुद्दा डीबी है, लेकिन हैंडलर और सब्सक्रिप्शन भी एक मुद्दा हो सकता है) जो एक ही पृष्ठ पर एकाधिक devcards को प्रस्तुत करने के विचार से अच्छा नहीं खेलता है।

एक संभावित समाधान प्रत्येक devcard को iframe के अंदर प्रस्तुत करना है। प्रत्येक devcard एक दूसरे से अलग किया जाएगा, भले ही वे एक पृष्ठ में निहित और दृष्टि से प्रस्तुत किया गया हो। यह शायद सबसे कुशल समाधान नहीं है, लेकिन यह काम करता है: मैंने इसे my devcards fork, under the iframe branch में कार्यान्वित किया। यह a couple example devcards using re-frame

भले ही यह [org.clojars.nberger/devcards "0.2.3-0-iframe"] रूप clojars में प्रकाशित होने के बाद किया गया है, यह iframe devcards बनाने के लिए एक और अधिक अनुकूल तरीके से और फिर से फ्रेम के लिए शायद एक devcard मैक्रो विशिष्ट प्रदान करने के लिए कुछ काम की जरूरत है। पॉलिश करने के लिए कुछ यूआई मोटे किनारे भी हो सकते हैं। लेकिन इसका इस्तेमाल करने में संकोच न करें। बेशक योगदान और प्रतिक्रिया का स्वागत है।

मैं एक उदाहरण यहाँ रखा है कि यह कैसे उपयोग करने के लिए दिखाने के लिए होगी:

(defcard-rg re-frame-component-initialize-db 
    "This is the same re-frame component, but now using 
    data-atom to initialize the db, rendered in an iframe:" 
    (fn [data-atom _] 
    (setup-example-1) 
    (re-frame/dispatch [:initialize-db @data-atom]) 
    [re-frame-component-example]) 
    {:guest-name "John"} 
    {:iframe true}) 

(उदाहरण के फिर से फ्रेम 0.7.x पर आधारित है, लेकिन सब कुछ क्योंकि आइफ्रेम तंत्र नए संस्करण के साथ एक ही काम करना चाहिए री-फ्रेम या कुछ भी उपयोग करने के लिए उदासीन है)

+0

यह ठीक काम किया। हालांकि, 'test1' स्ट्रिंग का उपयोग तब होता है जब 'defcard-rg' का उपयोग किया जाता है। – dilvan

+1

स्ट्रिंग 'test1' कहां दिखाई देता है? क्या आपके पास उस कोड को कहीं भी आपके कोड में है? इस मुद्दे को दिखाने वाले एक गिस्ट या रेपो को साझा करने के लिए स्वतंत्र महसूस करें, मैं इसे देख सकता हूं – nberger

+0

इसे भूल जाओ, मेरी गलती। यह मेरे कोड में था। माफ़ कीजिये। – dilvan

संबंधित मुद्दे