2017-09-20 5 views

Répondre

1

Ils disent que vous ne pouvez pas à the first page:

re-cadre reste un travail en cours et il est loin dans quelques façons - par exemple, il ne fonctionne pas aussi bien que nous » d like with devcards

+0

Je comprends la phrase "ça ne marche pas aussi bien que nous le voudrions" car cela fonctionne dans une certaine mesure. – dilvan

3

Il s'agit d'un problème récurrent avec les re-frame et devcards. Le problème principal est les globals dans re-frame (le problème principal est le db, mais les gestionnaires et les abonnements peuvent être un problème aussi) qui ne jouent pas bien avec l'idée de rendre plusieurs devcards sur la même page.

Une solution potentielle consiste à rendre chaque carte devcard à l'intérieur d'une iframe. Chaque carte devcard serait isolée les unes des autres, même si elles sont contenues et visualisées sur une seule page. Ce n'est probablement pas la solution la plus efficace, mais cela fonctionne: Je l'ai implémenté dans my devcards fork, under the iframe branch.

Même s'il est publié dans clojars sous le numéro [org.clojars.nberger/devcards "0.2.3-0-iframe"], il a besoin d'un peu de travail pour fournir une façon plus conviviale de créer des cartes devot iframe et peut-être une macro de carte de développement spécifique à la ré-image. En outre, il peut y avoir quelques aspérités de l'interface utilisateur à polir. Mais n'hésitez pas à l'utiliser. Bien sûr, les contributions et les commentaires sont les bienvenus.

Je vais mettre un exemple ici pour montrer comment l'utiliser:

(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}) 

(l'exemple est basé sur 0.7.x re-cadre, mais tout devrait fonctionner même avec les nouvelles versions car le mécanisme de iframe est indifférent à l'utilisation de re-frame ou quoi que ce soit)

+0

Cela a bien fonctionné. Cependant, la chaîne 'Test1' apparaît quand' defcard-rg' est utilisé. – dilvan

+1

Où apparaît la chaîne 'Test1'? Avez-vous cette chaîne n'importe où dans votre code? N'hésitez pas à partager un aperçu ou un repo montrant le problème, je peux jeter un oeil – nberger

+0

Oubliez ça, mon erreur. C'était dans mon code. Pardon. – dilvan